【问题标题】:OAuth2 and Microsoft Graph API for my Node.js app?我的 Node.js 应用程序的 OAuth2 和 Microsoft Graph API?
【发布时间】:2016-06-24 07:43:14
【问题描述】:

我想将 Office365/Graph 日历集成添加到现有 Node.js 应用程序(托管在 AWS 上)。我已经与 Google 的日历进行了类似的集成,而且设置起来很简单。我对微软版本的东西没有那么幸运。

我找到了至少 4 种不同的方式来注册应用程序(获取 clientId 和 clientSecret),我似乎对每种方式都遇到了不同的错误,但都无法正常工作。

我认为我的大部分问题是我以前从未在 MS 生态系统中工作过,所以我没有很多文档假设的基本知识。

我不希望通过 Microsoft 托管任何东西 - 我什至需要 Azure 帐户吗?

我想允许任何拥有 Office365 帐户的用户将其连接到我的应用程序 - 我是否需要了解 Active Directory 才能执行此操作?这部分是否需要 Azure?

我已经找到了使用 https://login.microsoftonline.com/common/oauth2https://login.microsoftonline.com/common/oauth2/v2.0 的说明,我是否需要根据我注册应用程序的方式担心我使用哪个版本?

【问题讨论】:

    标签: node.js azure oauth-2.0 office365


    【解决方案1】:

    Microsoft Graph 利用 Azure AD 对用户进行身份验证和授权。该文档引用为:

    要让您的应用获得授权,您必须先让用户获得身份验证。为此,您可以将用户重定向到 Azure Active Directory (Azure AD) 授权端点以及您的应用信息,以登录到他们的 Office 365 帐户。一旦用户登录并同意您的应用请求的权限(如果用户尚未这样做),您的应用将收到获取 OAuth 访问令牌所需的授权代码。

    所以您需要注册一个 Azure 帐户来配置 Azure AD 服务。更多信息请参考https://graph.microsoft.io/en-us/docs/authorization/app_authorization

    同时,要在 node.js 应用程序中实现 Microsoft Graph,您可以参考以下代码示例以供参考。

    【讨论】:

      【解决方案2】:

      Matt,如果您使用 oauth2/v2.0 auth 端点,则无需 Azure 帐户即可执行此操作。执行此操作后,您可以使用 Microsoft 帐户在 apps.dev.microsoft.com 上注册。

      请参阅this tutorial 了解如何使用类似于 Graph 的 Outlook REST API 执行此操作(事实上,对于日历操作,调用和实体是相同的)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-03
        • 1970-01-01
        相关资源
        最近更新 更多