feat: allow setting OIDC_CLIENT_SECRET_METHOD

This commit is contained in:
Aarnav Tale
2024-11-30 15:00:51 -05:00
parent a7d127c7bf
commit da0ee1382b
3 changed files with 7 additions and 2 deletions
+4
View File
@@ -28,6 +28,7 @@ export interface HeadplaneContext {
client: string
secret: string
rootKey: string
method: string
disableKeyLogin: boolean
}
}
@@ -143,6 +144,7 @@ async function checkOidc(config?: HeadscaleConfig) {
let issuer = process.env.OIDC_ISSUER
let client = process.env.OIDC_CLIENT_ID
let secret = process.env.OIDC_CLIENT_SECRET
let method = process.env.OIDC_CLIENT_SECRET_METHOD ?? 'client_secret_basic'
log.debug('CTXT', 'Checking OIDC environment variables')
log.debug('CTXT', 'Issuer: %s', issuer)
@@ -161,6 +163,7 @@ async function checkOidc(config?: HeadscaleConfig) {
issuer,
client,
secret,
method,
rootKey,
disableKeyLogin,
}
@@ -204,6 +207,7 @@ async function checkOidc(config?: HeadscaleConfig) {
client,
secret,
rootKey,
method,
disableKeyLogin,
}
}
+2 -2
View File
@@ -36,7 +36,7 @@ export async function startOidc(oidc: OidcConfig, req: Request) {
const issuerUrl = new URL(oidc.issuer)
const oidcClient = {
client_id: oidc.client,
token_endpoint_auth_method: 'client_secret_basic',
token_endpoint_auth_method: oidc.method,
} satisfies Client
const response = await discoveryRequest(issuerUrl)
@@ -91,7 +91,7 @@ export async function finishOidc(oidc: OidcConfig, req: Request) {
const oidcClient = {
client_id: oidc.client,
client_secret: oidc.secret,
token_endpoint_auth_method: 'client_secret_basic',
token_endpoint_auth_method: oidc.method,
} satisfies Client
const response = await discoveryRequest(issuerUrl)