首页 > 解决方案 > oAuth2 oidc 代码流与 Angular8 - 无法读取授权代码表单 URL

问题描述

我正在尝试将 oAuth2 oidc 登录集成到 Angular 应用程序中。在这里,当我调用授权端点以获取授权代码时,我遇到了一个问题,页面正在重定向到代码被刷新并出现在 URL 上的新位置。现在我无法从 URL 读取该代码并继续下一步以获取令牌并成功登录。

step1 : 在样本端点以下调用

location.href = https://ww.abc.com/authorize?client_id=abc123&response_type=code&scope=openid profile

step2:重定向到具有授权_code的新位置

https://ww.xyz.com/myApp?code=abc123qwe

step3 : 无法执行从 url 获取代码的下一段代码。

window.location.search.startsWith('?code=')

如果有人可以帮助我,将不胜感激。

标签: oauth-2.0angular8openid-connect

解决方案


通过 S3 和 Cloudfront 在 AWS 中托管 SPA 时,我遇到了类似的问题。收到的响应是“spa?code=xxx”,导致重定向到“spa/”,丢失了授权码。

我的解决方案只是确保注册的重定向 URI 有一个尾随 / 字符。这对你有用吗?


推荐阅读