使用 angular-oauth2-oidc 在 Angular 中使用 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',showDebug@R_500_4045@ion: true,};

用户点击登录时,我用这个命令初始化流程:

this.oauthService.initCodeFlow();

这有效并且我收到了访问和 ID 令牌,但是我如何确定我使用的是带有 PKCE 的代码流,而不仅仅是没有 PKCE 的普通代码流?代码挑战和验证器的创建和存储是否都由库为我处理?有没有办法停止进程并查看授权代码代码质询?

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

解决方法

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