【问题标题】:Authorization Code Flow and PKCE example using OpenIddict使用 OpenIddict 的授权代码流和 PKCE 示例
【发布时间】:2019-11-01 11:34:09
【问题描述】:
我偶然发现了OpenIddict,在浏览了一些示例服务器代码后,我找不到我要找的东西。我希望看到一个使用 PKCE 的身份验证代码流的 OpenIddict 示例,因为这似乎是现在推荐的安全方法,但找不到明确使用两者的方法。我的应用是一个基于 ASP.NET Core WebAPI 的应用,带有一个 React 客户端。任何帮助或指导将不胜感激。
【问题讨论】:
标签:
asp.net-core
asp.net-core-webapi
openiddict
【解决方案1】:
OpenIddict 中的 PKCE 与任何其他 OIDC 服务器一样工作:您只需在构建授权请求时发送 code_challenge(以及可选的 code_challenge_method)。
如果您这样做,OpenIddict 会将其存储在授权代码票证中,并将其与您作为令牌请求的一部分发送的 code_verifier 进行比较。如果您不发送验证码,令牌请求将被自动拒绝。
在 3.0 中,我们将引入一个选项,允许拒绝不使用 PKCE 的授权请求,以便您可以强制您的客户使用 PKCE。