欢迎来到山村网

java web网站集成新浪微博登录

2019-03-02 10:56:35浏览:885 来源:山村网   
核心摘要:  给网站添加第三方登录的功能,研究了下新浪微博登录的接口,本来想使用它提供的那种js代码库的方式,结果始终搞不定,由于不

  给网站添加第三方登录的功能,研究了下新浪微博登录的接口,本来想使用它提供的那种js代码库的方式,结果始终搞不定,由于不精通js只能够放弃。下载了个java的SDK包:weibo4j-oauth2-beta2.1.1,研究了下,虽然出了一些问题,但还是很快集成到网站里面了。

  首先,把一些必要的包和java类负责到自己的工程文件:

java web网站集成新浪微博登录 山村

  修改config文件里面的client_ID,client_SERCRET,redirect_URI。

  自己在登录页面写一个微博登录按钮,超链接到名字为OAuth4Code的servlet。

  import weibo4j.Oauth;

  import weibo4j.model.WeiboException;

  import weibo4j.util.BareBonesBrowserLaunch;

  public class OAuth4Code extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response)

  throws ServletException, IOException{

  Oauth oauth = new Oauth();

  try{

  BareBonesBrowserLaunch.openURL(oauth.authorize("code",""));

  }catch(WeiboException e){

  System.out.println(e);

  }

  }

  登录成功之后会跳转到config文件里面的redirect_URI。

  我重定向的也是一个servlet,核心代码如下:

  String code = request.getParameter("code");

  try{

  Oauth oauth = new Oauth();

  //

  AccessToken token = oauth.getAccessTokenByCode(code);

  String token = oauth.getAccessTokenByCode(code).toString();

  System.out.println(token);

  //

  String accessToken = token.getAccessToken();

  // String uid = token.getUid();

  // System.out.println(accessToken);

  // System.out.println(uid);

  String str[] = token.split(","); //截取字符串,获得sccessToken和uid

  String accessToken= str[0].split("=")[1];

  System.out.println(accessToken);

  String str1[] = str[3].split("]");

  String uid = str1[0].split("=")[1];

  System.out.println(uid);

  session.setAttribute("accessToken", accessToken);

  session.setAttribute("uid", uid);

  Users um = new Users();

  um.client.setToken(accessToken);

  User user = um.showUserById(uid);

  String screenName = user.getScreenName(); //获得到用户昵称

  session.setAttribute("name", screenName);

  }catch(WeiboException e){

  System.out.println(e);

  }

  本来想通过AccessToken 类来获取uid和token,结果会出现code错误之类的现象,只能辛苦的自己分割了。成功获取到uid和token之后就可以根据实例代码自己改了,我是获取了用户昵称。

(责任编辑:豆豆)
下一篇:

Java中synchronized的用法

上一篇:

Python开发环境配置

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com