如何解决Microsoft Graph用户阅读
我正在用Angular Frontend编写.Net Core应用程序。
现在,用户已通过Azure Active Directory(通过Azure门户配置)进行身份验证。 用户已成功通过身份验证,但是作为开发人员,我现在仍然不知道哪个用户已通过身份验证。
如何检索有关用户的信息有很多示例,这可以通过以下方式完成: https://graph.microsoft.com/v1.0/me。但是,当我打电话给我时,我收到了401未经授权的回复。因此,必须有一种获取令牌之类的方法。
我有一个客户端ID,租户ID以及一个AppServiceAuthSession Cookie。谁能提供代码示例?
解决方法
根据您的要求,您可以转到Resource Explorer查找您的应用,然后找到“ config”->“ authsettings”。将json中的additionalLoginParams
编辑为:
"additionalLoginParams": [
"response_type=code id_token","resource=<the client id of your app in azure ad>"
],
除此之外,您还需要编辑应用的重定向uri,例如:
https://yourapp.azurewebsites.net/.auth/login/aad/callback
之后,您可以通过请求https://yourapp.azurewebsites.net/.auth/me
获取访问令牌。您可以使用访问令牌来请求图形api https://graph.microsoft.com/v1.0/me
。顺便说一下,https://yourapp.azurewebsites.net/.auth/me
的响应中可能包含一些信息。如果信息足够,则无需使用访问令牌请求图api。
您将获得401 Unauthorized response
,因为您没有访问API https://graph.microsoft.com/v1.0/me
的正确令牌。正确的方法是使用MSAL库(通过身份验证)获取应用程序的令牌并将其用于API。
请使用 .Net core here和代码示例here找到分步教程。
请使用 Angular here和代码示例here查找分步教程。
,解决方案是向应用程序添加机密,然后调用https://xyz.azurewebsites.net/.auth/me
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。