问题描述
我想在我的 Angular SPA 中使用带有 PKCE 的代码流,为了方便起见,我使用了这个库:angular-oauth2-oidc
如果你点击链接,它会说通过这个配置你将使用带有 PKCE 的代码流:
let authConfig: AuthConfig = {
issuer: 'https://myIssuerURL.com',redirectUri: 'https://myRedirectURI.com',clientId: environment.myclientId,scope: 'openid',responseType: 'code',showDebuginformation: true,};
this.oauthService.initCodeFlow();
这有效并且我收到了访问和 ID 令牌,但是我如何确定我使用的是带有 PKCE 的代码流,而不仅仅是没有 PKCE 的普通代码流?代码挑战和验证器的创建和存储是否都由库为我处理?有没有办法停止进程并查看授权代码或代码质询?
这可能是一个奇怪的问题,但我只想确定它使用的是 PKCE...
解决方法
我很确定它确实如此 - 确定的方法是跟踪网络消息并在授权重定向中查找 code_challenge 和 code_challenge_method 参数。请参阅我的 OAuth SPA Messages Page 的第 4 步和第 8 步,了解它的外观。