使用 Angular-oauth2-oidc 的 Angular 中的 PKCE 授权代码流程

bwx*_*--2 5 oauth-2.0 angular authenticationchallenge angular-oauth2-oidc pkce

我想在我的 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,
    };
Run Code Online (Sandbox Code Playgroud)

当用户单击登录时,我使用此命令初始化流程:

this.oauthService.initCodeFlow();
Run Code Online (Sandbox Code Playgroud)

这有效,我收到了访问权限和 ID 令牌,但如何确定我正在使用带有 PKCE 的代码流,而不仅仅是没有 PKCE 的正常代码流?代码质询和验证程序的创建和存储是否全部由库为我处理?有没有办法停止该过程并查看授权代码或代码质询?

这可能是一个奇怪的问题,但我只是想确定它正在使用 PKCE...

Gar*_*her 2

我非常确定它确实如此 - 确保的方法是跟踪网络消息并在授权重定向中查找 code_challenge 和 code_challenge_method 参数。请参阅我的OAuth SPA 消息页面的步骤 4 和 8,了解其外观。