我开发了一个Web应用程序(spring mvc,spring security),它有自己的登录名。
现在我想将应用程序更改为使用另一个网站(第二个Web)凭据登录,还需要从第二个网站获取一些用户详细信息.eg:用户名,用户角色列表用于创建身份验证对象。
请帮我选择最佳方法。
我的客户端应用程序的openID或oauth2更好吗?
答案 0 :(得分:0)
如果我理解正确,您正在谈论使用像Google+,Facebook这样的社交网络,以便能够登录您的应用程序(这是身份服务,您没有实际密码,而是访问令牌有限)范围)。
为此,有一个 Spring Social 项目,它为这种集成提供了一组抽象,包括其他 Spring MVC控制器,这些都是正确认证所必需的。这个社交网络。
答案 1 :(得分:0)
OpenID和oAuth是2 different things。
最近,Google announced它停止支持OpenID,所以也许oAuth2.0对你来说是更好的选择。
请注意,如果您选择第三方的oAuth,则会强制您的用户在那里拥有帐户。例如,如果您的应用程序(资源服务器)使用Facebook进行身份验证/授权,您的用户将必须在Facebook上拥有帐户(您想要这样做吗?!)。
如果您使用OpenID,您的用户可以选择保存其帐户的位置......
如果您有另一个第三方(或内部,它并不重要)认证服务器,并且您希望使用它来验证您的用户 - 您必须知道它支持的规范。例如,如果它支持oAuth2.0,您可以非常轻松地配置您的应用程序以使用它。
希望有帮助...