c# - 从 ASP.Net Web API 和 MVC Web 应用程序访问 Microsoft Graph API(用于 OneDrive)。
问题描述
我有一个使用 IdentityServer4 的 .Net Core 应用程序,并为身份验证实现了自定义 UserStore。现在我想访问当前登录用户的 Graph API(来自自定义 UserStore 的用户并且在 Azure AD 上具有相同的用户名/电子邮件)。
要求是当用户尝试访问 OneDrive 上的资源(如果尚未经过身份验证)时,将用户重定向到图形同意屏幕。
我创建了一个应用程序 Azure 应用程序注册门户,但与提供的示例混淆,因为它们使用 OAuth 进行身份验证,并且我已经在使用 IdentityServer4。
我正在关注这个; https://developer.microsoft.com/en-us/graph/docs/concepts/auth_overview
解决方案
根据您的描述,我假设您想要访问 Microsoft Graph,但您有自己的身份服务器。
官方文档中的示例仅显示了如何获取 accesstoken。
在这种情况下,您拥有自己的身份服务器,这意味着您可以在没有用户的情况下使用 Get Access。
正如官方文档中提到的,您可以将其作为后台服务或守护进程运行。
我们可以在需要的时候从这个后台服务中获取 accesstoken 并使用它来调用 Microsoft Graph。