【问题标题】:Making Google Drive API requests using Okta authentication使用 Okta 身份验证发出 Google Drive API 请求
【发布时间】:2020-12-15 10:49:49
【问题描述】:

我正在寻找最佳做法,以第三方应用程序的形式向 Google Drive 的 API 发出请求,这些 API 已通过 Okta 进行身份验证。

假设:

  1. Google 的服务正在使用 Okta 进行身份验证(用户转到 drive.google.com >> 重定向到 Okta >> 身份验证 >> Google Drive 可用)。
  2. 我们在 Google 上有一个公共应用程序 - 非 Okta 用户都可以轻松使用。

最佳实践解决方案是什么?创建 Okta 应用程序?在运行时交换访问令牌?还有什么?

【问题讨论】:

    标签: authentication google-drive-api okta


    【解决方案1】:

    在调查了 Okta 在 Google Workspace 中的主要作用后,我发现 OAuth 2.0 的工作方式与 Google 对用户进行身份验证时的工作方式相同。

    您应该通过 Google 触发一个简单的身份验证,在该过程结束时,您将收到一个可以使用的访问令牌。

    实际上,Google 使用 SMAL 对用户进行身份验证,然后针对其他范围显示同意屏幕。

    Graphic flow in here

    【讨论】:

    • 你有任何文档的指针吗?我只能找到有关如何以 Okta 用户身份使用 Google API Gateway 的文档,但找不到有关 Google API(例如 Google Drive)的信息。在我的情况下,用户已经使用他们的 Okta 帐户登录,我需要访问与他们的 Okta 帐户关联的 Google Drive。
    • 您可以关注Google's OAuth2.0 documentation -- Okta 将用户推送到 Google 的登录屏幕(他们在其中插入用户并通过)而不是同意屏幕(他们授予请求的范围)。
    • @yalovich 嗨,我现在正在努力解决这个问题。我正在使用gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse() 获取访问令牌。这不是您指的“简单身份验证”吗?
    • @MicheleVolpato 你能解决这个问题吗?
    • @Imonniger 不是真的。我改变了应用程序的流程。我没有先让用户登录,然后再请求使用 Google Drive 的权限,而是直接请求 Google Drive 权限,这将要求用户登录 Google 帐户。他们将使用其 Okta 链接的电子邮件地址,这使得 Web 视图打开 Okta 登录屏幕等等。
    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    相关资源
    最近更新 更多