首页 文章

Microsoft Graph / Office 365 REST API使用服务主体登录

提问于
浏览
0

是否可以使用服务主体登录MS或Azure Graph或Office 365 REST API?我目前正在开发一个多租户应用程序,并且使用OAuth我不喜欢我的刷新令牌可能会过期 .

2 回答

  • 1

    只是 Build 在最后的答案 . 您应该遵循本文中的信息:https://graph.microsoft.io/en-us/docs/authorization/app_only,它通过使用OAuth2.0 client_credential流程来获取应用程序访问令牌(没有用户上下文),包括如何让客户的租户中的管理员授权您访问多租户申请 . 上面的答案使用auth客户端库(ADAL)向您展示如何获取令牌,但这也可以使用HTTP请求来完成 .

    注意:您不需要担心上面记录的链接的服务主体等 - 这是通过同意/授权流程在幕后发生的所有机制 .

    希望这可以帮助,

  • 1

    您可以使用基于证书的基于应用程序的身份验

    将X.509证书添加到应用程序的清单后,您应该可以使用以下内容来获取应用程序令牌 . 请记住,这是一个应用程序登录,因此权限需要在应用程序上,而不是在登录用户上 .

    var cert = new X509Certificate2(certBytes, certificatePassword);
    var clientAssertionCertificate = new ClientAssertionCertificate(clientId, cert);
    
    var authenticationResult = 
        await authenticationContext.AcquireTokenAsync(resourceToAuthenticate, clientAssertionCertificate);
    

相关问题