如何实现openId基于java web的应用程序?

时间:2011-01-04 08:39:48

标签: java openid

在我的网络应用程序中,我想实现OpenId,就像stackoverflow.com必须登录其网站一样。

您在登录stackoverflow.com alt text

时会发现详细信息

因此,如果选择谷歌,那么它允许用户通过谷歌帐户登录。

请详细告诉我如何在java web应用程序中实现它。是否有任何单一API用于登录不同的网站,如(雅虎,谷歌,脸书等)

谢谢

2 个答案:

答案 0 :(得分:6)

这有两个方面:

  • 客户端。这是更容易的部分。您可以手动执行此操作,但已有javascript解决方案将呈现openid提供程序列表。检查openid-selectorthis jQuery plugin。我个人更喜欢后者。
  • 服务器端。您必须处理openId身份验证。有多个java库(它们都在openid网站上列出)。这是我决定使用的一个:openid4java。请参阅this question了解我的动机。

答案 1 :(得分:4)

不完全。您提到的大多数只是使用OpenID协议,但Facebook使用自己的授权,因此您需要将其作为单独的方法添加。

查看OpenID4Java

我还使用openid-selector作为客户端部分。

最后,我将查看this resource以查看不同提供商的URL端点。