我正在使用OAuth 2.0服务器来支持多个客户端和角色。
假设我有一台API服务器需要来自OAuth服务器的访问令牌。
我提出了这些工作流程。我有三个服务于这个简单的工作流程 - OAuth ,客户端和 API服务器。
在我看来,这是一个不寻常的工作流程。我想这样做的原因是因为我们实际上在OAuth服务器上存储了用户凭据。我还为每个客户提供多个角色(组)。
这是OKAY解决方法还是有一个更好的方法来实现一个OAuth +多个客户端和多个角色?
答案 0 :(得分:2)
您描述的内容相当于OAuth 2.0中的资源所有者密码凭据授权,请参阅:https://tools.ietf.org/html/rfc6749#section-1.3.3。您应该能够使用支持此授权的库存OAuth 2.0授权服务器执行此操作。所以它并不罕见或专有,但需要对客户有很大的信任,因为它"看到"密码。
您可以通过将多个角色和群组表示为不同的角色和群组来对其进行建模"范围"与访问令牌和客户相关联。