feat(oidc-auth): support empty OIDC client secret

Taras Glek 2025-04-17 09:36:17 +03:00
parent 6c36f525f9
commit 7eee61b808
2 changed files with 17 additions and 5 deletions

View File

@ -0,0 +1,5 @@
---
'@hono/oidc-auth': major
---
Support empty OIDC_CLIENT_SECRET

View File

@ -167,11 +167,18 @@ export const getClient = (c: Context): oauth2.Client => {
const env = getOidcAuthEnv(c) const env = getOidcAuthEnv(c)
let client = c.get('oidcClient') let client = c.get('oidcClient')
if (client === undefined) { if (client === undefined) {
client = { client =
client_id: env.OIDC_CLIENT_ID, env.OIDC_CLIENT_SECRET === ''
client_secret: env.OIDC_CLIENT_SECRET, ? {
token_endpoint_auth_method: 'client_secret_basic', // No client secret provided, use 'none' auth method
} client_id: env.OIDC_CLIENT_ID,
token_endpoint_auth_method: 'none',
}
: {
client_id: env.OIDC_CLIENT_ID,
client_secret: env.OIDC_CLIENT_SECRET,
token_endpoint_auth_method: 'client_secret_basic',
}
c.set('oidcClient', client) c.set('oidcClient', client)
} }
return client return client