如何解决使用PKCE登录Angular应用以进行认知,然后调用我的API
我有一个现有的angular应用程序,该应用程序使用angular-oauth2-oidc连接到本地托管的身份服务器。 我已经删除了angular-oauth2-oidc组件,并实现了与AWS Cognito的连接(使用Amplify)以允许用户登录。 AWS Userpool中的应用程序客户端设置已设置为授权代码授予。
我可以登录我的应用程序,但是我的api没有运行权限。 我花了一个月才走到这一步,我仍然不确定自己在做什么。
我要做的是使用PKCE登录到Cognito,并能够调用我的api端点。
我找不到任何可以做自己想做的例子。当然,这是常见的情况。谁能为我提供一些有关如何执行此操作的指导?一个例子?
解决方法
您需要授权码授予类型和托管的UI才能使用OIDC提供程序登录。
尽管在文档中没有明确说明,但是如果Cognito用户池客户端不不包含secret
(与SPA应用程序一样),则Amplify将自动使用PKCE。
如果您检查网络请求,则在访问令牌端点时应该会看到grant_type=authorization_code
以及code=AUTHORIZATION_CODE
和code_verifier=CODE_VERIFIER
uri参数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。