微博第三方登录
最近刚好在学习第三方登录,这里先做一下微博第三方登录的记录,因为qq第三方登录必须要完成网站备案后才能进行,后面再进行补充。
大致可以分成下面几个步骤
下面根据我自己的实现过程做一下总结吧。
- 准备工作
(1)首先需要有一个准备接入第三方登录的引用,这里可以是自己的一个小案例web项目。
(2)需要准备一个域名,并判定自己的应用,这样通过微博审核才能获取到app key和secret
域名申请对于只是想要学习第三方登录开发过程的同学来说是比较麻烦的,首先大家需要去一些云服务器上面租一个服务器,再上面部署自己的应用,这里可以选择的云还是很多的,然后再买一个域名,并解析服务器ip。
申请appkey
准备工作完成后,我们就需要到微博开放平台上进行申请了。
http://open.weibo.com/完成开发者的身份认证后,我们就需要创建一个应用,然后提交审核,这里需要用到之前绑定的域名等信息,审核通过后就可以获得app key和app secret。
这样子 微博审核通过后,我们可以获得开发中需要用到的东西了,然后就可以进行下面的开发。
3. 开发过程
下面我们讲利用微博提供的 java sdk进行第三方登录的开发。
首先下载sdk
https://github.com/sunxiaowei2014/weibo4j-oauth2-beta3.1.1/
下载完成后,我们可以先阅读一个README.md
使用方法
1、 请先填写相关配置:在Config.properties里 client_ID :appkey 创建应用获取到的appkey client_SERCRET :app_secret 创建应用获取到的appsecret redirect_URI : 回调地址 OAuth2的回调地址
2、 然后调用example里:OAuth4Code.java
public class OAuth4Code {
public static void main(String [] args) throws WeiboException, IOException{
Oauth oauth = new Oauth();
BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
System.out.print("Hit enter when it's done.[Enter]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();
Log.logInfo("code: " + code);
try{
System.out.println(oauth.getAccessTokenByCode(code));
} catch (WeiboException e) {
if(401 == e.getStatusCode()){
Log.logInfo("Unable to get the access token.");
}else{
e.printStackTrace();
}
}
}
}
3、 运行后会弹出浏览器地址跳转到授权认证页面,然后输入你的微博帐号和密码,会调转到你的回调地址页面,url后面会传递code参数
4、 然后在console输入code就能获取到oauth2的accesstoken
5、 接下来即可调用example,在此以user/show接口为例:
public class ShowUser {