无需登录的 Office 365 授权流程 window

Office 365 Authorization flow without login window

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

执行此操作的正确方法是什么?

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

我对正确的流程感兴趣。

谢谢。

Kornel,您的应用程序将代表用户访问 O365 文件 API(使用 OAuth2.0 的委托访问)。当您向授权端点发送授权请求时,预计会看到 Azure AD 登录页面。用户将在这里登录,如果需要,您的应用程序 "consent to" 将代表他们访问文件 API。一旦他们完成登录(并同意),浏览器将使用授权码(和 id_token)重定向(或发布)回您的应用程序。然后您的应用程序会将授权代码发送到令牌端点(连同您的客户端 ID 和客户端密码)并将访问令牌(和刷新令牌)取回文件 API。 这是标准的 OAuth2.0 代码授权流程。静默登录(OAuth2.0 资源所有者密码凭证流)不适用于访问 O365 APIs 的 Web 应用程序。

希望这对您有所帮助。