【问题标题】:OAuth2 - Can a trusted Client access User resources with Client Credentials flowOAuth2 - 受信任的客户能否通过客户凭证流程访问用户资源
【发布时间】:2021-03-10 20:59:23
【问题描述】:

查看 OAuth 网站上对客户端凭据授予类型的说明:

客户端使用客户端凭据授予类型来获取用户上下文之外的访问令牌。

这通常被客户用来访问关于他们自己的资源而不是访问用户的资源。

如果客户端是受信任的应用程序(内部开发),它可以访问用户的资源吗?

从技术上讲,该应用不是这些资源的“资源所有者”,但因为它是内部开发的“超级”应用,所以为了实现组织的业务需求,它应该能够访问它们。

例如 - 想想您在 Google 中的用户。 Google 地图应用程序会创建您拥有的资源(例如您在地图上“保存”的位置)。然后,某些具有“超级”权限的 Google 守护程序应用可以访问您创建的这些资源,以便处理它们并向您展示相关广告。

这有意义吗?

谢谢!

西蒙。

【问题讨论】:

    标签: security oauth-2.0 oauth authorization clientcredential


    【解决方案1】:

    是的,在我看来,这是一个相当典型的场景。

    对于受信任的客户,还有一些额外的最佳实践需要考虑,例如将机密存储在密钥保管库中、按计划轮换机密、限制和记录管理员访问权限等。

    【讨论】:

    • 谢谢斯科特,是的,这一切都说得通。
    • 快速跟进问题 - 资源服务器如何知道可以为其他人拥有的资源 X 提供服务?我在想一个专用的 OAuth 范围或一组范围可以完成这项工作。这行得通吗?
    • 我绝对更喜欢使用单独的端点和范围来将受信任的(应用程序)与不受信任的(用户)场景分开。我已经看到它们结合在一起,它会产生很多额外的复杂性,因此有出错的风险。
    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 2016-12-31
    • 2020-10-02
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多