查看OAuth网站上有关客户端凭据授予类型的以下说明:
客户端使用“客户端证书”授予类型来获取用户上下文之外的访问令牌。
客户端通常使用它来访问有关其自身的资源,而不是访问用户的资源。
如果客户端是受信任的应用程序(内部开发),可以访问用户的资源吗?
从技术上讲,该应用程序不是这些资源的“资源所有者”,但是由于它是内部开发的“超级”应用程序,因此为了实现组织的业务需求,它应该能够访问它们。
例如-想想你在Google中的用户。Google map应用会创建你拥有的资源(例如,你在 map上“保存”的位置)。然后,某些具有“超级”权限的Google守护程序可以访问你创建的那些资源,以便对其进行处理并向你显示相关的广告。
那有意义吗?
谢谢!
西蒙
是的,在我看来,这是相当典型的情况。
还有一些其他最佳实践可供你信任的客户端考虑,例如将机密存储在密钥库中,按计划轮换机密,限制和记录管理员访问权限等。
谢谢斯科特,是的,这一切都有道理。
快速跟进问题-资源服务器如何知道可以服务别人拥有的资源X?我当时想使用专用的OAuth范围或一组范围来完成这项工作。那行得通吗?
我绝对更喜欢使用单独的终结点和范围来将可信(应用程序)与不可信(用户)方案分开。我已经看到它们的组合,这会带来很多额外的复杂性,因此有可能出错。