现在的位置: 首页 > 综合 > 正文

OAuth2.0

2018年05月17日 ⁄ 综合 ⁄ 共 1510字 ⁄ 字号 评论关闭

豆瓣支持OAuth2.0协议的授权访问。关于OAuth2.0协议规范,请参考这里。

使用OAuth2.0的流程可以简单概括为:
 1.应用向豆瓣请求授权
 2.豆瓣为用户显示一个授权页面,用户在此页面确认是否同意应用的请求
 3.如果用户同意授权,应用会获取到一个访问令牌(access_token),
 通过此令牌,应用可以访问授权用户的数据。
 4.如果访问需要授权的Api,请使用https协议,加上access_token的Header,
 具体见获取access_token
 
豆瓣支持三种OAuth2.0的授权流程:
 ■服务器的WEB应用的授权流程(server-side flow)
 ■桌面客户端应用、移动客户端应用的授权流程(native-application flow)
 ■直接在浏览器中运行的Javascript应用的授权流程(user-agent flow)
 
API Key  0f192c42cfdd96e22d4b84c86f98c4a6
Secret  af3404eb0d991922

 
 我们经常看到在别的网站用QQ登陆,其实是因为QQ提供了接口,
 首先在豆瓣上申请一个KEY,
 https://www.douban.com/service/auth2/auth?client_id=0f192c42cfdd96e22d4b84c86f98c4a6&redirect_uri=https://www.douban.com/&response_type=code&scope=shuo_basic_r,shuo_basic_w
 当用户点击用这个登陆的时间会出现要用户输入账号密码的界面,
 然后点击授权,授权成功,http://www.douban.com/?code=87af16aff6cf97b4
 第一步,完成,我们得到了authorization_code。
 如果点击取消,则跳转到redirect_uri界面。
 然后我们有了它的那个code,以post方式提交这个URL。
 https://www.douban.com/service/auth2/token?client_id=0f192c42cfdd96e22d4b84c86f98c4a6&client_secret=af3404eb0d991922&redirect_uri=http://www.baidu.com/&grant_type=authorization_code&code=87af16aff6cf97b4
 获取的内容为:
 {"access_token":"fc0958f0e40f991cf41c0ad2ac2ecb54","douban_user_id":"67439121","expires_in":604800,"refresh_token":"9389bdfcfd9fb59aba9d39f6f8df20ce"}
 所以,这个网站就可以拿它的ID进行登陆。
 
 
 
 *******************************
 客户端通过接口访问服务器的数据
 1,url
 2,url获取一个urlconnection;
 3,获取到服务器返回回来的具体信息
 4,解析我们关心的内容
 5,显示界面
 
 https://api.douban.com/v2/book/1003078这个就是豆瓣提供的API.
 
 我们在登陆的时间,如果登陆成功后,把它的accesstoken和tokensecret
 存储进去,然后在BaseAcitvity里面根据这所有的信息得到一个doubanservice
 之后 所有的操作,都是拿它来操作。
 
 
 
 

 

抱歉!评论已关闭.