使用其他网站的凭据登录我自己的Web应用程序(例如:使用google登录)

时间:2014-03-09 11:01:49

标签: spring spring-security oauth-2.0 openid

我开发了一个Web应用程序(spring mvc,spring security),它有自己的登录名。

现在我想将应用程序更改为使用另一个网站(第二个Web)凭据登录,还需要从第二个网站获取一些用户详细信息.eg:用户名,用户角色列表用于创建身份验证对象。

请帮我选择最佳方法。

我的客户端应用程序的openID或oauth2更好吗?

2 个答案:

答案 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,您可以非常轻松地配置您的应用程序以使用它。

希望有帮助...