我是OAuth2的新手,并试图找出以下方案的最佳做法:
就OAuth2而言 - 谷歌并不拥有'我的服务,所以它无法帮助我存储/提供ToDo特定角色,这是正确的吗?
实施它的常见/最佳方法是什么,我是否需要创建自己的授权服务,我需要存储像userinfo这样的关系 - >项目特定的角色?
答案 0 :(得分:2)
嗯,这取决于你究竟想做什么。
如果您有用户,并且这些用户已经拥有您已分配给他们的特定角色,那么您只是将Google的OAuth服务用作身份服务。您不需要 来实现自己的授权服务,但是您需要跟踪(通常在您自己的数据库中)用户ID与该用户的角色之间的关系。
如果目标是创建一个服务,用户可以将其拥有的特定权限委托给第三方服务,那么您肯定需要实现自己的OAuth服务器。这将允许用户限制第三方服务完成其工作所需的范围。
答案 1 :(得分:1)
您可以轻松设置自己的授权和资源服务器,而不是依赖于Google服务。在您自己的身份验证服务器中,您可以更好地控制您指定的角色和用户。 您可以使用spring boot app设置和验证服务器,并使用Spring-starter-security,spring-security-oauth2等依赖项。
答案 2 :(得分:0)
是的,您必须使用自己的授权服务器,然后可以发出具有与之关联的领域特定角色的令牌。