use*_*804 14 azure-active-directory
我创建了一个spa仅由我的组织拥有的应用程序,但是在我请求代码时出现了问题。我该如何解决?

Car*_*hao 31
我可以重现您的问题,您必须在网络下添加重定向 URL (不是单页应用程序)。之后,您将能够使用身份验证代码流来获取代码。
接受的答案有问题:问题是针对SPA WEB 的,但建议的解决方案是将其更改为SSR WEB
对于 ssr webs,使用的流程称为OAuth 2.0 授权代码流程,其中在成功登录(302 重定向)后从 Microsoft 发送代码,并将此代码交换为新的 access_token (微软内部 api)。
对于水疗网站,有时没有可编程后端服务器来服务网络文件(index.html、js、css),能够接收代码并将其交换为 access_token。使用的流程称为OAuth 2.0 隐式授权流程,其中 ID 令牌或访问令牌在成功登录后直接从 Microsoft 返回(302 重定向)
注意:隐式授权流程在某些 IAM 平台中已被弃用
如果您正在使用纯 React、Angular、Vue 等开发Spa Web ,而不是使用 Java、C#、PHP 等或 Nuxt、Next 等混合型的 ssr Web,并且您需要 access_token而不是身份验证代码 (ssr),那么您应该按着这些次序:
将您的应用程序注册为管理员或简单用户
https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
添加 Web 平台类型 SPA 并重定向到您的 SPA
选中访问令牌复选框
在此步骤中,您应该能够获取此类登录的经典值(google、facebook、microsoft 等):clientid、clientsecret、reduirect_uri、tenant 等
在 spa 源代码层,将授权 url 中的response_type=code更改为response_type=token
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&scope=openid
&response_mode=query
Run Code Online (Sandbox Code Playgroud)
如果一切正常,所有最终用户都将在登录步骤中收到类似以下的提示:
是的,这是另一个“Azure 功能”。无论如何,谁告诉你使用微软的工具?
为了避免这种情况,请在管理员的帮助下批准它或按照这些无限步骤将您的应用程序标记为已验证
| 归档时间: |
|
| 查看次数: |
10381 次 |
| 最近记录: |