我有一个前端应用程序,我想与Cognito User Pool连接。
我正在使用openidconnect playground测试身份验证流,这是我的Cognito配置:

我没有放置客户端秘密,因为我认为在前端URL中放置客户端秘密是不安全的。
以下是应用程序客户端设置:

使用授权码Grant due其余部分需要一个客户端密钥。
因此,这是进行登录的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作为参数共享,它将返回一个错误。
如何在没有客户端密码的情况下执行身份验证过程?这有可能吗?如果没有,如何管理客户端密码,避免在前台应用中管理客户端密码?
谢谢。
发布于 2021-05-01 21:40:15
在公共客户端上使用auth code授权类型时,应使用PKCE。
https://stackoverflow.com/questions/67344334
复制相似问题