Azure api OAuth2 隐式流适用于 http 但不适用于 htt
Azure api OAuth2 implicit flow works on http but not on htt
我在 azure 中创建了一个 Api,最近尝试更改为通过 OAuth2 访问它的身份验证方法。
我使用 https://login.microsoftonline.com/[TENANT]/oauth2/v2.0/token/ 请求了一个令牌,并尝试使用它通过邮递员访问我的 api。
然后我尝试使用收到的令牌向我的 api 发出请求:
我使用 Postman 的授权窗格指定 OAuth2.0 作为身份验证方法并将授权类型配置设置为“隐式”并发送请求。
像这样配置,请求使用我的 api 的“http”版本,但是当我尝试使用“https”版本时,我收到 401 错误“未授权”。
我的 api 配置有误吗?还是我使用了错误的 url 进行身份验证?
非常感谢您的宝贵时间。
经过大量研究,我发现了问题所在:
我必须在身份提供者允许的令牌受众中添加应用程序 ID(在 Azure 应用程序服务中,导航到身份验证 > 找到身份提供者 > 单击编辑 > 在页面添加您的应用程序注册的应用程序 ID。为了更好的衡量,我还添加了 api://[APPLICATION ID]/.default 和 api://[APPLICATION ID]
我的 api 的源代码中还残留了一些验证码。当我尝试连接时,我有时收到一个响应,其中包含标题为“登录您的帐户”的 HTML。这是由我的 api 的 startup.cs 文件中的一段代码引起的,它验证了对我的 Azure AAD 发出请求的用户。删除它后我不再有错误
我在 azure 中创建了一个 Api,最近尝试更改为通过 OAuth2 访问它的身份验证方法。
我使用 https://login.microsoftonline.com/[TENANT]/oauth2/v2.0/token/ 请求了一个令牌,并尝试使用它通过邮递员访问我的 api。
然后我尝试使用收到的令牌向我的 api 发出请求: 我使用 Postman 的授权窗格指定 OAuth2.0 作为身份验证方法并将授权类型配置设置为“隐式”并发送请求。
像这样配置,请求使用我的 api 的“http”版本,但是当我尝试使用“https”版本时,我收到 401 错误“未授权”。
我的 api 配置有误吗?还是我使用了错误的 url 进行身份验证?
非常感谢您的宝贵时间。
经过大量研究,我发现了问题所在:
我必须在身份提供者允许的令牌受众中添加应用程序 ID(在 Azure 应用程序服务中,导航到身份验证 > 找到身份提供者 > 单击编辑 > 在页面添加您的应用程序注册的应用程序 ID。为了更好的衡量,我还添加了 api://[APPLICATION ID]/.default 和 api://[APPLICATION ID]
我的 api 的源代码中还残留了一些验证码。当我尝试连接时,我有时收到一个响应,其中包含标题为“登录您的帐户”的 HTML。这是由我的 api 的 startup.cs 文件中的一段代码引起的,它验证了对我的 Azure AAD 发出请求的用户。删除它后我不再有错误