关于PKCE代码授权流程扩展的Java、JS、Android/IOS示例

0

【以下的问题经过翻译处理】 嗨,大家好,

我正在研究有关 Cognito 的主题。 我知道授权代码授予流程与 Cognito 的工作原理。 但我对 PKCE 扩展如何工作感兴趣,更具体地说,我如何使用 Java 示例开发此扩展,或者它与 Cognito SDK for Java 集成?或者Javascript 和/或 Android/IOS 中的其他示例 有关 PKCE 的示例。 提前致谢 !

问候。

profile picture
专家
已提问 5 个月前27 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

我了解您希望 Cognito 与 PKCE 合作,并想看看是否有任何示例说明如何实现这一目标。

为了让 PKCE 使用授权代码授予流程,您需要将授权端点的 GET 请求中的 code-challenge-method 和 code-challenge 参数以及 POST 请求中的 code-verifier 参数传递给 令牌端点。 我附上以下文档,介绍授权端点 (1) 以及令牌端点 (2)。 这些都有使用 PKCE 的示例。 代码验证器将是使用未保留字符 [A-Z] / [a-z] / [0-9] / "-" / "." / "_" / "~".的高熵加密随机字符串。 code_challenge 是 code_verifier 的 SHA256 哈希值,然后进行 Base64 URL 编码。 code_challenge_method 始终为 S256,因为这是 Cognito 支持的唯一方法。

我希望您今天休息愉快!

参考

(1)https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html

(2)https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则