我有一个现有的angular应用程序,它使用angular-oauth2-oidc连接到本地托管的身份服务器。我已经剥离了angular-oauth2-oidc组件,并实现了到AWS Cognito的连接(使用Amplify)以允许用户登录。AWS用户池中的应用程序客户端设置已设置为授权码授予。
我可以登录到我的应用程序,但我的api未被授权运行。我花了一个月的时间才走到这一步,但我仍然不确定我在做什么。
我想要做的是使用PKCE登录到Cognito,并能够调用我的api端点。
我找不到任何例子来做我想做的事情。当然,这是一种常见的情况。有人能为我提供一些如何做到这一点的指导吗?举个例子?
发布于 2020-08-20 23:39:58
您需要使用Authorization Code授权类型和托管UI来登录您的OIDC提供商。尽管文档中没有明确说明,但如果Cognito User Pool客户端不包含secret ( SPA应用程序就是这种情况),Amplify将自动使用PKCE。
如果检查网络请求,则在命中令牌端点时,应该会看到grant_type=authorization_code以及code=AUTHORIZATION_CODE和code_verifier=CODE_VERIFIER uri参数
https://stackoverflow.com/questions/63406825
复制相似问题