刘璟涛的空间

我们一直在努力....

我在使用jopenid的过程中,遇到了一些问题,在网上搜索相应的处理方法,基本上搜不到什么- -!所以以下这些大都是自己探索出来的,可能有遗漏,希望各位朋友补充。
1.下载相应的jar文件:
    1). JOpenId-1.08.jar
    2). sample.zip(此例子使用的是jopenid-1.07.jar,但我使用1.08版本无冲突)
        下载地址:http://code.google.com/p/jopenid/downloads/list

2.项目部署后可直接运行,如果你运气好(之前已经做过一些配置),可能会一次性就成功,会显示与你邮箱相应的邮箱地址、用户名、性别等一系列数据。

3.可能会出现的问题:
    1). url设置的问题,在OpenIdServlet.java里的init()方法里,默认是:
          manager.setRealm("http://localhost");
          manager.setReturnTo("http://localhost/openid");
 
      可改成manager.setRealm("http://localhost:8080/工程名");
      manager.setReturnTo("http://localhost:8080/工程名/openid"); ------ 相信你能看懂

    2). 成功登陆了gmail或Yahoo,但返回不到该有的结果
         中文乱码问题(用户名为中文),由于是get方式提交,所以需要自己做转码iso-8859-1  ->  utf-8
         这里提供一个简单的解决方案:
         打开tomcat/conf目录下server.xml文件,在
         <Connector port="8080" .../>里加入以下两条配置
         useBodyEncodingForURI="true"
         URIEncoding="UTF-8"
 
    3). 在访问google或yahoo时,可能会出现以下两种错误
        org.expressme.openid.OpenIdException: Request failed: https://www.google.com/accounts/o8/id
        java.net.SocketTimeoutException: connect timed out
        或
        org.expressme.openid.OpenIdException: Request failed: http://open.login.yahooapis.com/openid20/www.yahoo.com/xrds
        java.net.SocketTimeoutException: Read timed out
 
        这个我也没有解决,多点几次吧!估计是gmail、yahoo的网络有问题,发布到应用上能稍微好点,实在不行就try/catch跳转到登陆界面吧。


就想到这么些了,如果有其他问题,欢迎与我一起探讨。

附件:


    评分: 请先登录再投票,同一篇博客一月只能投票一次!
    无人投票

相关博客:


评论

游客 2011-10-18 17:00:02  
request timedout 我是经常遇见  而且还有verify signature failed 错误  总之目前点雅虎基本没问题   google就90%的概率撞邪
游客 2012-3-12 20:09:41  
你好,我现在也是需要实现openid功能,现在了你博客里面说的那个sample,但是无法成功运行,我是一个jsp新手,我建立了一个web项目sample,那么 manager.setRealm("http://localhost");    manager.setReturnTo("http://localhost/openid");应该如何修改才可以运行呢?希望可以得到你的知道,非常感谢,我的邮箱是hit1070310325@163.com,如果你有时间的话希望能够得到你的回复。

发表评论

验证码:
最近访客
关注此文的人们还关注