如何使用OAuth为API生态系统定义范围?

时间:2018-10-09 14:12:44

标签: oauth oauth-2.0 api-design scopes

作为使用OAuth的API生态系统的创建者,您希望允许通过可附加到访问令牌的作用域访问API。因此,我的问题是:

  • 您如何定义范围?
  • 您是否希望定义的任何作用域仅提供对单个API中资源/方法的访问,还是应该包含对多个API的访问?
  • 相对于某种API网关工具,您有多大可能在Swagger / OAS或RAML之类的API定义文件中定义范围?
  • 是否应将范围定义在特定API的上下文之外,作为单独的OAuth管理工具的一部分,以及IdP注册和客户端应用程序创建之类的内容?

我意识到对此可能有几种可能的答案和观点-这正是我所寻找的。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我的OAuth2服务器可以创建任意范围。范围类似于“角色”,它们描述功能组。

OAuth2服务器本质上不知道这些范围是什么。 API资源服务器接收承载令牌,并根据承载令牌找出与之关联的作用域,并决定用户可以与该作用域进行何种操作,但是对于OAuth2服务器,它们是不透明的字符串。

我们不使用摇摇欲坠/ RAML。