繁体   English   中英

可以在 Razor 中代表没有 MS 库的用户获取访问令牌吗?

[英]Possible to get access token on behalf on user without MS Library in Razor?

我正在编写一个 Razor 页面应用程序,它以 HTTP GET 调用的形式获取 Azure AD 中的用户数据。

但是,我发现的大多数文档都说要使用 MS GRAPH 库——有没有办法只使用标准 HTTP 代表用户获取访问令牌?

我不确定如何从我的 razor 页面应用程序中获得登录 Office365 的提示。

您可以使用auth code flow获得访问令牌。

在浏览器中获取授权码:

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id={client-id}
&response_type=code
&redirect_uri={redirect_uri in azure portal}
&response_mode=query
&scope=https://graph.microsoft.com/.default
&state=12345

使用前面的代码获取访问令牌:

POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token

client_id={client-id}
&scope=https://graph.microsoft.com/.default
&code={code from previous step}
&redirect_uri={redirect_uri in azure portal}
&grant_type=authorization_code

解码access token后,您将获得upn (用户的用户名)等。 如果您拥有 MS Graph 所需的权限,您还可以通过 API 获取用户的详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM