【问题标题】:How does the Bearer token works in SCIMBearer 令牌在 SCIM 中如何工作
【发布时间】:2021-03-29 06:18:14
【问题描述】:

我正在创建一组 API 端点,它们应该符合 SCIM 架构,以用作 Okta platform 的 SCIM 服务器。

SCIM 架构对我来说很清楚,但我在理解授权时遇到了问题。根据 SCIM 文档,授权类型应该是“授权承载令牌”。

这是我的第一个问题:对我来说,授权令牌应该与我用于 OAuth 2.0 授权的 JWT 相同,但现在,thanks to SO,我知道这不是真的。 JWT 和 Password Grant Flow 的使用只是一种约定,而不是规则。

此外,当我尝试在 Okta 平台中创建示例 SCIM app 时,唯一可用的选项是静态令牌,而不是我期望使用 OAuth 2 的 client_id/client_token 对(旁注: 这在使用 SAML 应用程序并使用 SCIM 进行配置时是可能的,但不适用于仅 SCIM 的应用程序。

问题是:现在怎么办? SCIM 应该与某些特定类型的令牌一起使用吗?它是否强制某种类型的Oauth grant type?哪一个?

我知道我可能会混淆所有这些概念,但是对于 SCIM 中使用令牌有什么简单的解释吗?

OBS:我目前正在使用 Okta,但它应该与任何 SCIM 客户端兼容。

【问题讨论】:

    标签: oauth-2.0 authorization okta bearer-token scim


    【解决方案1】:

    您在 Okta 组织中创建的用于测试 SCIM 服务器应用的 SCIM 2.0 测试应用只是用于测试服务的模板应用。因此,在 API 集成选项卡中,您会看到一个静态 OAuth 持有者令牌。

    成功完成测试后,您应该通过填写此form 提交此应用以将其集成到 OIN。请参阅此guide

    在下面的提交表单中

    您应该填写 OAuth 端点详细信息。一旦应用程序集成到 OIN 中,Okta 实际上会向 scim 服务器发出 OAuth 请求,它是Authorization Code grant flow

    【讨论】:

    • 我认为您可以继续使用 Header Authentication,然后您必须向 OKTA 提供带有基本 URL 的令牌,OKTA 将在每个请求的 header 中发送它,我们有责任维护和更改它。跨度>
    【解决方案2】:

    大多数使用带有 Okta 的 SCIM 的客户只是使用静态令牌对 SCIM 服务器进行身份验证。因此,他们没有使用通过 Oauth 授权生成的令牌。

    我知道 Okta 的工程师已经进行了一些研究,因此 Okta Oauth 令牌可用于与 Okta 的 SCIM 连接,但目前大多数云/(SAS)服务不支持这一点,所以我预计它可能是在我们看到 Okta(和大多数 Cloud IDP)使用 Oauth 令牌进行 SCIM 连接之前一段时间。

    你走在正确的轨道上,事实上你走在了曲线的前面。您今天可能不得不为 SCIM 使用静态生成的令牌。

    【讨论】:

    • 你有什么好的文档或教程来实现它吗? Okta 官方文档有点含糊不清。
    猜你喜欢
    • 2019-08-30
    • 2019-07-19
    • 2019-02-18
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2021-07-10
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多