最近老板有意与淘宝合作,网站需要支持淘宝登陆验证与授权,所以研究了下淘宝的第三方登陆,基于OAuth2.0(其实也没啥好说的,原理都一样,主要是一些细节)。写blog的原因是当时研究这玩意是发现文档只有两个版本,一个是官网提供的(http://open.taobao.com/doc2/detail.htm?articleId=118&docType=1&treeId=null),一个是写了一半的技术文档(http://blog.chinaunix.net/uid-25528943-id-3127111.html),却被无数人转载,本人实在看不下去了,功能走通上线后,有时间就把这文档写了,让更多的人可以学习。

1)申请app ID 和 app secret (http://my.open.taobao.com/),然后注册应用,这里应该有让你填个回调地址,即redirect_uri(如果没填,也还可以在控制台-应用设置-基本信息,勾选需要商家授权,这时填你的回调地址:www.xxx.com)

2) 开发者通过 https://oauth.taobao.com/authorize 获取用户授权码,即code。参数:

参数 参数值 说明
* client_id   即开发者的APPKEY
* response_type code 相应类型,填code,即授权码
* redirect_uri   回调地址。此地址是开发者注册应用时填写的回调地址(如果不一致,将返回错误)。
scope   访问区域。
state   用于维持应用状态,淘宝服务器将回填这个值。
view   可选值:web(默认)、tmall、wap。

以下是一个请求授权码的示例:
https://oauth.taobao.com/authorize?response_type=code&client_id=12539988&redirect_uri=http://www.xxx.com/taobao/auth&state=1

收到请求后,淘宝服务器返回值:

参数说明

code授权码      正常结果。

error错误码     异常时返回

error_description错误描述   异常时返回。

如果淘宝服务器返回的值有code,恭喜你,已经完成第二步,如果错误请在http://open.taobao.com/doc2/detail.htm?articleId=118&docType=1&treeId=null的最后错误排查中排查自己的错误。

3)拿到授权码code后,就可以换取用户基本信息。

用post请求
https://oauth.taobao.com/token?grant_type=authorization_code&response_type=code&client_id=23294542&client_secret=27552d4ac86de9603cd4fe0d125e6062&redirect_uri=http%3A%2F%2Fwww.xxx.com%2F&code=X9XPfI9JVHiTgKME6JyAXDAD315945(填写淘宝服务器返回给你code)

这样你就可以得到类似的数据:

{
  "taobao_user_nick": "taobaonick",
  "re_expires_in": 0,
  "expires_in": 7776000,
  "expire_time": 1459911894299,
  "r1_expires_in": 1800,
  "w2_valid": 1452135894299,
  "w2_expires_in": 0,
  "w1_expires_in": 1800,
  "r1_valid": 1452137694299,
  "r2_valid": 1452135894299,
  "w1_valid": 1452137694299,
  "r2_expires_in": 0,
  "token_type": "Bearer",
  "refresh_token": "620251524f72a26b6c8ecd1ZZe29bbbxxx",
  "open_uid": "AAENArTTACOmNcx4Z-_D0qU2",
  "refresh_token_valid_time": 1452135894299,
  "access_token": "620141595ca09af54aa5918ZZeafd0c0fe770bb07xxx"
}

这样整个认证过程就结束了,你接下来要做的是就是创建两个url,一个是login,一个是auth,然后数据库存从淘宝服务器上得到的这些信息(或者再你的user表中创建等等)

.......

淘宝 OAuth2.0 的登录验证与授权相关推荐

  1. 淘宝店铺发布API接口(新),淘宝oAuth2.0店铺商品API接口,淘宝商品发布API接口,淘宝商品上架API接口,一整套发布上架店铺接口对接分享

    淘宝店铺发布API接口(新),淘宝oAuth2.0店铺商品API接口,淘宝商品发布API接口,淘宝商品上架API接口,一整套发布上架店铺接口对接分享如下 1.公共参数 名称 类型 必须 描述 key ...

  2. 淘宝账号基于OAuth2.0的登录验证授权登陆第三方网站

    首先得有一个注册的appkey和App Secret 该流程分三个步骤:  第一步:通过用户授权获取授权码Code:  第二步:用上一步获取的Code和应用密钥(AppSecret)通过Https P ...

  3. taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,淘宝R2接口,淘宝oAuth2.0交易接口代码分享

    一.taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,R2接口,oAuth2.0交易接口代码分享 搜索当前会话用户作为卖家已卖出的 ...

  4. 淘宝官方商品、交易、订单、物流接口列表(淘宝oAuth2.0接口)

    大家都知道,目前淘宝开放平台的店铺订单和店铺商品接口权限已经不支持申请应用,有好多做店群业务,店铺订单同步,店铺交易,店铺订单物流,店铺订单消息推送,店铺订单插旗,店铺上传商品,店铺修改商品属性,店铺 ...

  5. taobao.products.get( 获取产品列表 )接口,淘宝店铺商品列表官方接口,淘宝R2店铺上传接口,淘宝oAuth2.0接口

    大家都知道,目前淘宝开放平台的店铺订单和店铺商品接口权限已经不支持申请应用,有好多做店群业务,店铺订单同步,店铺订单消息推送,店铺订单插旗,店铺上传商品,店铺修改商品属性,店铺上货等操作均不能操作了, ...

  6. 淘宝开发平台商品、交易、订单、物流接口列表(淘宝oAuth2.0接口)

    大家都知道,目前淘宝开放平台的店铺订单和店铺商品接口权限已经不支持申请应用,有好多做店群业务,店铺订单同步业务,店铺订单交易业务,店铺订单物流业务,店铺订单消息推送业务,店铺订单插旗业务,店铺上传商品 ...

  7. [OAuth2.0三方登录系列文章-1]OAuth2.0与三方登录的端到端方案

    系列文章 [OAuth2.0三方登录系列文章-1]OAuth2.0与三方登录的端到端方案 [OAuth2.0三方登录系列文章-2]如何设计基于OAuth2.0的授权登录SDK以及竞品分析 [OAuth ...

  8. 如何实现微信和淘宝的扫码登录

    1.引言 扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方式登录),但不得不说还是很酷的. 下面这张图,不管是IM开发者还是普通用户,应该很熟悉: 于是,搞IM产 ...

  9. 如何实现微信和淘宝的扫码登录 ?

    点击上方"阿拉奇学Java",选择"置顶或者星标"  每天早晨07点28分, 与你相约! 来源 | my.oschina.net/u/4231722/blog/ ...

最新文章

  1. 最小化安装linux CentOS-6.6后 部署fastdfs +下载地址 很干很干的干货
  2. Mellanox 8亿美元收购EZchip
  3. 爬虫图片href是html图片,xpath爬虫实例,爬取图片网站百度盘地址和提取码
  4. IntelliJ IDEA开发入门教程
  5. (21)System Verilog设计D触发器
  6. 怎么把计算机模式重置,电脑怎么还原出厂模式
  7. 【历史上的今天】11 月 3 日:初版 Unix 发布;Steam 之父诞生;3Q 大战全面升级
  8. niceScroll滚动条出现在div的左侧(PS:原本应该出现在div右侧)
  9. pb 打开文件,写入文件
  10. sin40度不用计算机怎么求,sin40度怎么算 sin40度如何算
  11. Unity SteamVR报错问题却影响运行的记录(Log path could not be located (112)“)
  12. 004.前端面试排雷之唱、跳、rap三步曲(一)唱篇
  13. Hibernate 多对多的增删改查。
  14. mybatis代码自动生成工具之maven插件mybatis-generator-maven-plugin(mybatis逆向工程)
  15. 分析一个简单的汇编代码
  16. java 中文转成_Java实现汉字转换为拼音 [转]
  17. DC-DC升压变换器 直流隔离 高压稳压输出 电源模块
  18. php实现的单例模式
  19. 【ZJOI2017】仙人掌
  20. 治疗狗狗常见疾病药品备忘

热门文章

  1. 网站域名个人备案和企业备案有什么区别?域名个人备案需要多久?
  2. CS231n-assignment1-SVM和SoftMax
  3. 谷歌浏览器插件之 -- Quick QR
  4. Set 和 Array
  5. 某大型政务网站的优化咨询案例(视频点播VOD+GZIP压缩+静态文件CDN+Redis缓存+全文索引)
  6. js 压缩jpg图片
  7. [SE]软件项目需求分析为什么困难
  8. 会议OA项目--我的会议
  9. H5 canvas制作刮刮卡效果并计算清理结果
  10. java ear项目_基础普及-Jar、War、Ear