当前位置:编程学习 > 网站相关 >>

几个重要平台的auth2登录验证

根据授权码取得access_token
 
参数
是否必须
含义
grant_type
必须
授权类型,此值固定为“authorization_code”。
client_id
必须
网站的appid。
client_secret
必须
网站的appkey。
code
必须
上一步返回的authorization code。
注意此code会在10分钟内过期。
redirect_uri
必须
与上面一步中传入的redirect_uri保持一致。
成功取码: 
access_token=FE04************************CCE2&expires_in=7776000 
失败:
返回code和msg字段,以url参数对的形式返回,value部分会进行url编码
根据access_token获得对应用户身份的openid
 
参数
是否必须
含义
access_token
必须
在Step1中获取到的access token。
查询成功:
[plain]  
callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );   
查询失败: 
[plain]  
通用错误码  
调用openid并访问资源
access_token=<token>& oauth_consumer_key=<appkey>& opened=<user_openid>
参数: 
YOUR_APP_ID: appid(如222222)
YOUR_ACCESS_TOKEN:Step1获取到的access token,必须保证未过期(如E0632E6CE12AC709999)
YOUR_OPENID:Step2获取到的openid,用户唯一标识(如B9DD537D1C5C98A9999)
[plain]  
https://graph.qq.com/user/get_user_info? (GET)  
access_token=*************& oauth_consumer_key=12345& openid=****************& format=json   
 
[plain]  
{  
    "ret":0, // 返回码  
    "msg":"", // 错误信息,red<0  
    "nickname":"Peter", //呢称  
    "figureurl":"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/30", //30x30  
    "figureurl_1":"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/50", //50x50  
    "figureurl_2":"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/100",//100x100  
    "gender":"男",//性别  
    "vip":"1", //黄钻用户  
    "level":"7",//黄钻等级  
    "is_yellow_year_vip":"1"//年费黄钻用户  
}  
 
Weibo后台方式的登录验证
 
获得授权码
 
client_id
必须
string
AppKey。
redirect_uri
必须
string
授权回调地址 
scope
可选
string
申请scope权限所需参数,可一次申请多个scope权限,用逗号分隔。
state
可选
string
防止跨站请求伪造(CSRF)攻击,第三方自定义串
display
可选
string
授权页面的终端类型,取值见下面的说明。
{default->web page,  mobile , wap, client, apponweibo ->站内 }
forcelogin
可选
boolean
是否强制用户重新登录,true:是,false:否。默认false。
language
可选
string
授权页语言,缺省为中文简体版,en为英文版。
成功: 
 
失败: 
[plain]  
{ "error":"desc",  "error_code":123456, "error_description":"desc" }  
根据授权码获取access_token 
 
必选
类型及范围
说明
client_id
true
string
申请应用时分配的AppKey。
client_secret
true
string
申请应用时分配的AppSecret。
grant_type
true
string
请求的类型,填写authorization_code
grant_type为authorization_code时
 
必选
类型及范围
说明
code
true
string
调用authorize获得的code值。
redirect_uri
true
string
回调地址,需需与注册应用里的回调地址一致。
成功调用则返回: 
[plain]  
{"access_token": "token.. ", "expires_in": 1234, "remind_in":"798114", "uid":"12341234" }  
不成功则: 
[sql]  
{  "error":"desc",  "error_code":123456, "error_description":"desc" }  
根据token查询用户的信息及资源
 
必选
类型及范围
说明
access_token
true
string
access_token
成功返回值: 
[plain] 
{ "uid": 1073880650,  "appkey": 1352222456, "scope": null,"create_at": 1352267591, "expires_in": 157679471 }  
失败返回值: 
[html] view plaincopy
{ "error":"desc",  "error_code":123456, "error_description":"desc" }  
豆瓣后台方式的登录验证
 
获取授权码
 
参数名称
参数说明
client_id
必选
APIKey
redirect_uri
必选
回调地址,此地址必须与在应用注册时填写的回调地址一致。
response_type
必选
此值可以为 code 或者 token。
scope
可选
申请权限的范围,缺省的scope。
如果申请多个scope,使用逗号分隔。
state
可选
第三方自定义参数。
成功: 
 
不成功:
 
获取access_token
 
参数名称
参数说明
client_id
必选
APIKey
client_secret
必选
对应于豆瓣secret
redirect_uri
必选
回调地址
grant_type
必选
此值可以为 authorization_code 或者 refresh_token 。
code
必选
authorization_code
成功: 
[plain] 
{ "access_token":"<token>", "expires_in":3920, "refresh_token":"<token2>", "douban_user_id":"<user-id>"}  
失败: www.zzzyk.com
[plain] 
{"msg":"uri_not_found", "code":1001, "request":"GET \/v2\/photo\/132"}  
获取当前用户信息
https://api.douban.com/v2/user/~me (GET)
重要注意事项: 
 必须用GET方法
l必须将token放在请求的header里,key = “Authorization”, value=”Bearer token…”的方式放入header.
成功: 
[plain] 
{ "loc_id":"118281", "name":"名称", "created":"<创建日期>", "loc_name":"地区", "avatar":"图标", "signature":"签名", "uid":"账号", "alt":"链接
补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,