-1

我们正在使用 oidc 客户端。客户端设置授权类型为授权码。但是,我发现我的授权代码使用了 PKCE。因为我可以在没有客户端密码的情况下使用它,并且 uri 上有 code_challenge。我正在查看它是如何设置的,但我找不到它。

我只是想知道带有 PKCE 的 AuthCode 现在是否是默认的。如果我错了,请纠正我,当您没有在您的 oidc-client 中设置您将使用 PKCE 时,您应该使用需要客户端密码的普通身份验证代码吗?

这是我的客户:

getClientSettings(): UserManagerSettings {
const config = this.config._envConfig;

return {
  authority: `${config.BaseAuthUrl}`,
  client_id: "auth-code-client",
  redirect_uri: `${config.BaseRedirectUrl}/signin-callback`,
  post_logout_redirect_uri: `${config.BaseRedirectUrl}`,
  response_type: "code",
  scope:
    "scope_1 scope_2 scope_3",
  filterProtocolClaims: true,
  loadUserInfo: false,
  silent_redirect_uri: `${config.BaseRedirectUrl}/renewtoken`,
  automaticSilentRenew: true,
  revokeAccessTokenOnSignout: true,
  monitorSession: true,
};

}

4

1 回答 1

0

如果它确实是默认行为,那就太好了。使用 PKCE 没有缺点,如果可能,您应该始终使用它。PKCE 为流程添加了另一层安全性,它不会阻止您使用客户端的机密。此外,如果授权服务器不支持 PKCE,它应该忽略参数,因此授权服务器是否使用 PKCE 对您的客户端无关紧要。

于 2021-05-21T07:09:44.043 回答