没有登录窗口的Office 365授权流程

时间:2015-01-22 15:35:09

标签: php azure sharepoint oauth-2.0 office365

我正在开发一个必须能够访问Office 365 File API的PHP应用程序。 通过遵循Microsoft文档,我总是在授权端点上收到我的GET请求的“登录”窗口,但我想为我的用户透明地执行此操作。

这样做的正确方法是什么?

(该应用已在Azure AD门户中配置,获得了client_id,client_secret等。)

我对正确的流量感兴趣。

感谢。

1 个答案:

答案 0 :(得分:1)

Kornel,您的应用程序将代表用户访问O365文件API(使用OAuth2.0委派访问权限)。当您向授权端点发送授权请求时,应该会看到Azure AD登录页面。在这里,用户将登录并且如果需要“同意”您的应用程序代表他们访问File API。一旦他们完成登录(并同意),浏览器将被授权代码(和id_token)重定向(或发布)回您的应用程序。然后,您的应用程序将授权代码发送到令牌端点(以及您的客户端ID和客户端密钥),并将访问令牌(和刷新令牌)返回到File API。 这是标准的OAuth2.0代码授权流程。无提示登录(OAuth2.0资源所有者密码凭据流)不适用于访问O365 API的Web应用程序。

希望这会有所帮助。