OAuth2 - 基于用户角色的授权

时间:2015-02-20 05:25:27

标签: oauth-2.0

我是oAuth2安全的新手。我有一个关于基于用户角色的授权来访问REST资源的问题。我的网上冲浪为oAuth2的身份验证部分提供了输入。

让我为您提供困扰我的情景。

我有一个REST Web服务,它具有READ(HTTP get),INSERT(HTTP post),UPDATE(HTTP put)和DELETE(HTTP delete)给定资源的方法。

我有两个用户角色“STANDARD”和“ADMIN”。 “STANDARD”用户只能调用READ(HTTP get) 并且“ADMIN”可以访问INSERT,UPDATE和DELETE方法。我怎样才能实现同样的目标?

应该考虑哪个oAuth2资助流程?

您能否指出基于用户角色的REST资源授权的解决方案?

1 个答案:

答案 0 :(得分:0)

OAuth并未定义身份验证的完成方式,但它定义了say that it's required in some cases。启用时,与code flowROPC一样,授权服务器将知道用户的身份。从那里,它可以查找用户所在的组或他们具有的角色。由此,授权服务器可以发出具有特定范围的访问令牌(例如,read个用户使用STANDARDwrite个用户使用ADMIN)。然后,在API中,它将仅检查访问令牌的范围,而不必担心基于角色的访问。另一种方法是将组/角色放入授权服务器发出的令牌中(作为声明)。然后,API可以查看组/角色,并决定是否应允许写操作或只允许读操作。