淘宝账号基于OAuth2.0的登录验证授权登陆第三方网站
2012-10-29 11:27
603 查看
首先得有一个注册的appkey和App Secret
该流程分三个步骤:
第一步:通过用户授权获取授权码Code;
第二步:用上一步获取的Code和应用密钥(AppSecret)通过Https Post方式换取Token。
第三步:获取用户Nick或者其他信息
第四步:保存session信息
一、获取授权码Code应用在要求获取用户信息的时候,首先引导用户(Redirect)到登录授权页面https://oauth.taobao.com/authorize
需要传的参数有
例如: https://oauth.taobao.com/authorize?response_type=code&client_id=12251541&redirect_uri=http://www.xx.org&state=1
[attachment=335]
用户登陆后,显示用户授权页面:
[attachment=336]
此时,用户可以选择“授权”或者“取消”(即不同意授权)。
如果用户同意授权,则跳转到应用的回调地址(redirect_uri),同时,应用获得授权码code
[attachment=337]
如果用户取消授权或者访问出错
[attachment=338]
二、用授权码Code换取Token应用在获取授权码后,发送Https Post到授权服务器,授权服务器验证授权码的合法性和应用的AppSecret,验证通过后授权服务器返回Access Token给应用。
需要传的参数有:
以下为java代码实现授权:
第一步:
在网站设置登陆入口
复制代码
<A class="g6" title=会员登录
href="https://oauth.taobao.com/authorize?client_id=12381144&response_type=code&state=1&redirect_uri=http://localhost:2011/WinTaobao/do.jsp" target="_blank">
登录
第二步,在redirect网站接受登录后返回的code,并获得access_token
1. access_token就相当于sessionKey,后续调用其他接口可以直接使用
三、使用淘宝api获取登陆的用户名,将此用户名设置到session中。
该流程分三个步骤:
第一步:通过用户授权获取授权码Code;
第二步:用上一步获取的Code和应用密钥(AppSecret)通过Https Post方式换取Token。
第三步:获取用户Nick或者其他信息
第四步:保存session信息
一、获取授权码Code应用在要求获取用户信息的时候,首先引导用户(Redirect)到登录授权页面https://oauth.taobao.com/authorize
需要传的参数有
名称 | 是否必需 | 描述 |
response_type | Y | 此处为web应用,此值固定为code |
client_id | Y | 即创建应用时的Appkey |
redirect_uri | Y | 登录后的回调地址,(注意:此地址必须要与注册应用时的回调地址相匹配,匹配规则是:注域名完全匹配 |
state | N | 该参数由应用定义,用户授权后,授权服务器会原封不动将此参数返回。 注: 应用可通过可选参数state来记录用户当前所处的页面位置信息,方便用户登录授权后,页面回调到用户之前所处的位置。 |
[attachment=335]
用户登陆后,显示用户授权页面:
[attachment=336]
此时,用户可以选择“授权”或者“取消”(即不同意授权)。
如果用户同意授权,则跳转到应用的回调地址(redirect_uri),同时,应用获得授权码code
[attachment=337]
如果用户取消授权或者访问出错
[attachment=338]
二、用授权码Code换取Token应用在获取授权码后,发送Https Post到授权服务器,授权服务器验证授权码的合法性和应用的AppSecret,验证通过后授权服务器返回Access Token给应用。
需要传的参数有:
名称 | 是否必需 | 描述 |
grant_type | Y | 授权类型 authorization_code 或者 refresh_token |
code | Y | 授权请求中的授权码,即第一步获取到的code |
redirect_uri | Y | 登录后的回调地址,(注意:此地址必须要与注册应用时的回调地址相匹配,匹配规则是:注域名完全匹配 |
client_id | Y | 客户标识,即appkey |
client_secret | Y | 客户密钥,即appsecret |
第一步:
在网站设置登陆入口
复制代码
<A class="g6" title=会员登录
href="https://oauth.taobao.com/authorize?client_id=12381144&response_type=code&state=1&redirect_uri=http://localhost:2011/WinTaobao/do.jsp" target="_blank">
登录
第二步,在redirect网站接受登录后返回的code,并获得access_token
1. access_token就相当于sessionKey,后续调用其他接口可以直接使用
三、使用淘宝api获取登陆的用户名,将此用户名设置到session中。
相关文章推荐
- 淘宝账号基于OAuth2.0的登录验证授权登陆第三方网站
- 淘宝账号基于OAuth2.0的登录验证授权登陆第三方网站
- 基于OAuth2.0实现第三方授权登陆(百度账号)
- 淘宝 OAuth2.0 的登录验证与授权
- SQL注入全过程,含实例初步注入--绕过验证,直接登录安全较低公司网站登陆框如下:可以看到除了账号密码之外
- 基于OAuth2.0协议的QQ第三方授权登录iOS代码分析
- 基于OAuth2.0的登录验证授权方式获取sessionkey
- 在IE自动登录使用域账号验证的网站,例如基于AD的windows验证的sharepoint站点
- 微信第三方授权登陆之网站应用
- EvaOAuth : 基于php/ZF2支持OAuth1.0与OAuth2.0的第三方Oauth登录统一接口模块
- php QQ第三方登录/OAuth2.0验证
- 基于第三方微信授权登录的iOS代码分析
- OAuth2.0 微博登陆网站功能的实现(一)获取用户授权及令牌 Access Token
- 基于第三方QQ授权登录和新浪微博授权登录的iOS代码分析
- 基于第三方QQ授权登录
- SharePoint基于windows验证的如何通过组策略实现IE自动以当前域账号登录SP站点
- 微信公众账号登陆授权开发——5(解决使用官方获获取第三方平台方获取预授权码)
- QQ、新浪微博、淘宝 账号登录网站,审核未通过,不允许二次注册
- 基于第三方QQ授权登录和新浪微博授权登录的iOS代码分析
- php 新浪微博第三方登录验证/OAuth2.0