新浪微博第三方登录

进入http://open.weibo.com/创建应用

新浪微博第三方登录_第1张图片

填写安全域名,本地测试的话可以改hosts文件指向相应的域名 

新浪微博第三方登录_第2张图片

这里也填上

新浪微博第三方登录_第3张图片

(1)使用后端实现第三方登录

第一步:https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=http://a.com

接着重定向到http://a.com/so?code=YOUR_CODE

 

第二步:access_token获取(注意方法是post,但form-data是空。否则就出现错误如下

{"error":"invalid_request","error_code":21323,"request":"/oauth2/access_token","error_uri":"/oauth2/access_token","error_description":"miss client id or secret"}):

https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE

其中CODE就是第一步得到的YOUR_CODE

返回

{
    "access_token": "abc",
    "remind_in": "157679999",
    "expires_in": 157679999,
    "uid": "123",
    "isRealName": "true"
}

 

第三步:

参数来自于第二步的access_token和uid,获得用户信息实现第三方登录

https://api.weibo.com/2/users/show.json?access_token=abc&uid=123

 

(2)前端微博组件实现第三方登录

第一步:

在HTML标签中增加XML命名空间

<html xmlns:wb="http://open.weibo.com/wb">

 

第二步:

在HEAD头中引入WB.JS

<head>

<script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=YOUR APPKEY" type="text/javascript" charset="utf-8">script>

head>

 

第三步:

在需要部署微博发布器的位置粘贴WBML代码

<wb:login-button type="3,2" onlogin="login" onlogout="logout">登录按钮wb:login-button>

 

安全域名要填是,此外域名一定要和应用访问地址对得上,对不上就会出错此错误

Object {error: "xd2.jsp has not Referer!", status: -1, success: 0}

您使用的appkey未和域名进行绑定,请绑定后使用

 

此外代码需要后端代码的第一步和第二步授权,没有授权会出现如下错误

Object {error:: "appkey permission denied", error_code:: "21337", success: 1, status: 1}

您的 appkey 需要先授权,才能调用 API 接口:/account/get_uid.json

新浪微博第三方登录_第4张图片

其实就是后端的第三步变成的前端实现

你可能感兴趣的:(新浪微博第三方登录)