【发布时间】:2017-12-14 20:38:36
【问题描述】:
环境
我有一个 Azure B2C 租户,用于管理简单的用户名/密码注册和登录,如下所示:https://github.com/Azure-Samples/active-directory-b2c-javascript-hellojs-singlepageapp
租户在前端管理 javascript/html 应用程序的身份验证,然后该前端应用程序与后端的 WebAPI 应用程序进行通信以获取其数据。
后端 WebAPI 取自此处的示例:https://github.com/Azure-Samples/active-directory-b2c-dotnet-webapp-and-webapi
这两个应用程序都已向租户注册,并且需要身份验证才能工作。
什么有效
直接从 Azure 门户进行测试时,身份验证效果很好。
授权请求成功:
Request URL:https://login.microsoftonline.com/dhzb2c.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_SiUpIn&client_id=2bb37577-246c-48a7-b047-2ce2a748dfda&nonce=defaultNonce&redirect_uri=http%3A%2F%2Flocalhost%3A65328%2Fredirect.html&scope=openid&response_type=id_token&prompt=login
Request Method:GET
什么不起作用
当尝试通过在租户中注册的后端通过前端登录时,我得到这个:
Correlation ID: 4ac6f519-0949-42e0-96a7-d84d14454bbb
Timestamp: 2017-07-10 23:07:48Z
AADB2C90205: This application does not have sufficient permissions against this web resource to perform the operation.
而且永远无法到达 API 后端。
授权请求失败:
Request URL:https://login.microsoftonline.com/tfp/dhzb2c.onmicrosoft.com/B2C_1_SiUpIn/oauth2/v2.0/authorize?client_id=2bb37577-246c-48a7-b047-2ce2a748dfda&response_type=token%20id_token&redirect_uri=http%3A%2F%2Flocalhost%3A65328%2Fredirect.html&state=%7B%22client_id%22%3A%222bb37577-246c-48a7-b047-2ce2a748dfda%22%2C%22network%22%3A%22adB2CSignInSignUp%22%2C%22display%22%3A%22page%22%2C%22callback%22%3A%22_hellojs_cprxketk%22%2C%22state%22%3A%22%22%2C%22redirect_uri%22%3A%22http%3A%2F%2Flocalhost%3A65328%2Fredirect.html%22%2C%22scope%22%3A%22openid%2Chttps%3A%2F%2Fdhzb2c.onmicrosoft.com%2Ftestb2capi%22%2C%22page_uri%22%3A%22http%3A%2F%2Flocalhost%3A65328%2Findex.html%22%7D&scope=openid%20https://dhzb2c.onmicrosoft.com/testb2capi
Request Method:GET
我的尝试
我曾尝试查找日志(例如权限错误日志)来说明问题的具体情况,但没有找到。
问题
也许我需要在其他地方查找日志?
我还能做什么?
身份验证错误消息旨在限制它们提供的信息,因此必须通过某种方式来获得有关错误的更具体的信息。我不知道什么?
【问题讨论】:
-
您可以在问题中包含一些内容,以便人们更轻松地帮助您:完整的错误消息,包括错误代码和相关 ID。通过门户发出的 https 请求和您的应用程序发出的 https 请求。您的应用程序注册和权限的屏幕截图。
-
从托管在 git 上的 B2C 示例完全配置的示例应用程序开始也是一个好主意。你试过吗?您也看到该应用程序也出现了同样的故障?
-
谢谢@Saca。我添加了完整的错误代码、https 请求以及有关我正在关注的 B2C 示例的信息。减去权限的屏幕截图。另外,我已经解决了我的问题!我会尽快发布答案。
标签: azure asp.net-web-api2 hello.js azure-ad-b2c