【问题标题】:Cognito - Authorization Code Grant without secret keyCognito - 没有密钥的授权码授予
【发布时间】:2021-07-24 09:55:11
【问题描述】:

我有一个前端应用程序,我想与 Cognito User Pool 连接。

我正在使用openidconnect playground 测试身份验证流程,这是我的 Cognito 配置:

我没有设置客户端密码,因为我认为在前端 URL 中包含客户端密码并不安全。

这是应用客户端设置:

使用授权码授予,其余的需要客户端密码。

所以,这是登录的 URL:

https://myuserpoolname.auth.eu-west-1.amazoncognito.com/oauth2/authorize?
client_id=YYYYYYYYY
&redirect_uri= https://openidconnect.net/callback
&scope=openid customscope/router customscope/modem
&response_type=code
&state=2282ed48ec2fc0eb0806a532f2eQQf02d0918949

之后,为了让交易所获得令牌,我使用了这个请求:

POST https://myuserpoolname.auth.eu-west-1.amazoncognito.com/oauth2/token
grant_type=authorization_code
&client_id=YYYYYYYYY
&redirect_uri=https://openidconnect.net/callback
&code=bd105ab3-Z-X-Y-6109170d1e46

但如果我不将 client_secret 作为参数共享,则会返回错误。

如何在没有客户端密码的情况下进行身份验证?那可能吗? 如果没有,我该如何管理客户端密码以避免在前端应用程序中对其进行管理?

谢谢。

【问题讨论】:

    标签: authorization amazon-cognito openid-connect openid aws-userpools


    【解决方案1】:

    在公共客户端上使用授权码授权类型时,您应该使用PKCE

    【讨论】:

      猜你喜欢
      • 2019-07-10
      • 2018-01-12
      • 2019-08-02
      • 2017-01-10
      • 2020-09-08
      • 2020-11-25
      • 2018-10-25
      • 1970-01-01
      • 2018-05-26
      相关资源
      最近更新 更多