【问题标题】:Authorize Microsoft Graph User with OAuth 2.0 type to Appsmith将 OAuth 2.0 类型的 Microsoft Graph 用户授权给 Appsmith
【发布时间】:2022-02-02 17:28:16
【问题描述】:

简介

我想将Appsmith 用于内部应用程序。

在我的 Appsmith 应用程序中,我需要登录 Office365 用户。

据我了解,要做到这一点,我必须“代表用户获取访问权限”,如 here 所述。

In this tutorial,朋友正在描述如何为 MS Graph API 调用执行 Postman 请求,我能够成功地做到这一点。

Appsmith 还提供“创建新 API”选项,您还可以在其中拥有 OAuth 2.0 身份验证数据源,我可以在其中运行我的 HTTP 请求并获取响应。

问题

In this tutorial 从我分享它的那一刻起,用户需要按下按钮才能获得新的访问令牌。我想知道这是否可以在 Appsmith ONLY 从应用程序的用户界面中完成,或者在 Postman 中完成,而无需按下“获取新访问令牌”按钮。

编辑

更详细地说,我想在 Appsmith 中仅通过 UI 实现以下流程。

  1. https://login.microsoftonline.com/{{tenant_id}}/oauth2/v2.0/authorize?client_id={{client_id}}6&response_type=code&redirect_uri=https://app.appsmith.com/api/v1/datasources/authorize&response_mode=query&scope=offline_access%20user.read%20mail.read&state=12345发出GET请求

  2. 通过对话框用我的账号登录

  3. 重定向到https://app.appsmith.com/api/v1/datasources/authorize?code=[code]

  4. https://login.microsoftonline.com/{{tenant_id}}/oauth2/v2.0/token发出POST请求

与身体:

{
    code: [code] (how do I get it),
    client_secret: {{client_secret}},
    client_id: {{client_id}},
    scope: https://graph.microsoft.com/User.Read,
    redirect_uri: https://app.appsmith.com/api/v1/datasources/authorize
}

所以,主要问题是:如何从第 3 步获取 [代码],以便在第 4 步的正文中使用它

编辑 2

Appsmith 还提供curl 选项。我可以通过 curl 解决这个问题吗?

【问题讨论】:

    标签: oauth-2.0 microsoft-graph-api postman appsmith


    【解决方案1】:

    目前还不能从应用程序界面访问,因为 OAUth 是为单个数据源配置的,而不是为每个用户单独配置的。您可以使用一组通用凭据授权 OAuth 应用程序,这样您的用户就无需自己进行身份验证

    【讨论】:

    • 嘿尼基尔!首先祝贺 Appsmith 的出色工作!其次,我不确定您的回答是什么意思。问题是我需要第 3 步中的 [code] 查询参数,以便在第 4 步的正文中使用它并为登录用户获取令牌,因此我可以稍后调用 graph.microsoft.com/v1.0/me 并获取用户的信息。如果您愿意,我们可以在 Appsmith 中聊天 :) 祝您有美好的一天!
    • @IraklisBekiaris 在这种情况下,您应该将重定向 URL 配置回应用程序页面,而不是数据源/授权端点。该端点仅在您直接为数据源配置 oAuth 而不是自己手动创建时使用。然后在重定向时,您可以访问 {{appsmith.URL.queryParams.code}} ,其中将包含您需要的授权代码
    • 嘿尼基尔!是的,我也想过这个解决方案!感谢您的宝贵意见。我打算在这里发布答案,以防其他人有同样的要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 2017-07-23
    • 2020-08-05
    • 1970-01-01
    相关资源
    最近更新 更多