Skip to content

Commit 0427fdb

Browse files
authored
Merge pull request #826 from uesyn/refresh-token-when-unset-client-secret
Support to refresh the tokens correctly when client-secret is set empty
2 parents c1d55ba + 7f1104a commit 0427fdb

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/oidc_auth.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import https = require('https');
2-
import { Client, Issuer } from 'openid-client';
2+
import { Client, ClientMetadata, Issuer } from 'openid-client';
33
import request = require('request');
44
import { base64url } from 'rfc4648';
55
import { TextDecoder } from 'util';
@@ -104,9 +104,15 @@ export class OpenIDConnectAuth implements Authenticator {
104104

105105
private async getClient(user: User): Promise<Client> {
106106
const oidcIssuer = await Issuer.discover(user.authProvider.config['idp-issuer-url']);
107-
return new oidcIssuer.Client({
107+
const metadata: ClientMetadata = {
108108
client_id: user.authProvider.config['client-id'],
109109
client_secret: user.authProvider.config['client-secret'],
110-
});
110+
};
111+
112+
if (!user.authProvider.config['client-secret']) {
113+
metadata.token_endpoint_auth_method = 'none';
114+
}
115+
116+
return new oidcIssuer.Client(metadata);
111117
}
112118
}

0 commit comments

Comments
 (0)