如何在不使用 node.js 重定向的情况下通过 OAuth2 连接到 Office 365?

How to connect to office 365 via OAuth2 without redirect using node.js?

我有一个 Node.js 应用程序,它通过 SOAP 网络服务连接到 Microsoft Exchange 以使用日历和邮件功能。
现在,我想使用 REST API.

做同样的事情 问题是这个应用程序将在后台运行,所以我已经有了用户凭据,无法将它们重定向到身份验证页面。

到目前为止,我发现 ADAL 您在 AZURE 中注册应用程序的位置。但这需要重定向。
有没有一种方法可以通过 OAuth2 连接到 Office 365 或在线 Exchange 并使用 REST API 而无需重定向?

重定向是安全要求。只有 AAD 应该收集 AAD 凭据。有关原因的更多信息,请参阅此答案:

How to authenticate user with Azure Active Directory using OAuth 2.0?

根据您的描述,您希望通过 OAuth2 实现针对 Microsoft Graph 的后端应用程序。您可以尝试按照客户端凭据工作流程将 AAD 集成到后端无效重定向 uri 中。您可以参考Call Microsoft Graph in a service or daemon app了解更多信息。

同时,由于您正在为 node.js 使用 ADAL,因此您可以尝试此存储库 Server to Server via Client Credentials 中的第二个示例,它遵循从 AAD 访问令牌的客户端凭据大流。

如有任何疑问,请随时告诉我。