如何为多个资源定义oath2范围?

时间:2016-06-01 00:40:08

标签: api oauth oauth-2.0

我正在设计API并决定使用OAuth2来控制对资源的访问。我正在努力解决如何为多种资源定义范围,并希望其他人可能在过去解决了相同或类似的问题。

我有3个资源:A,B,C。

我有一个客户:

  • 阅读A
  • 的访问权限
  • 读取/写入B
  • 无法访问C

在这种情况下,我该如何定义范围?我在想一个获得A读取权限的请求就像是:

grant_type=client_credential&scope=B+write

获得对B的写访问权的请求将是:

grant_type=client_credential&scope=A+B+write

但是当你想要两者时,你会得到类似的东西:

{{1}}

这使得你看起来想要对A和B进行写访问!

或者......也许我应该忘记范围并检查客户端是否具有适当的访问权限?

1 个答案:

答案 0 :(得分:1)

您可以定义4个范围,A_readA_writeB_readB_write