资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
使用使用 OAuth 2.0 访问访问 Taobao API淘宝支持草案 OAuth 2.0 protocol 获取 Bearer Token 去访问用户在淘宝的隐私数据。 目前淘宝支持 ISV 有自己的 Web 服务器的 Server-Side Flow.以下将介绍 Server-Side Flow 的接入流程:目录目录使用 OAuth 2.0 访问 Taobao API.1 1开发前的准备工作 .1 1.1申请成为合作伙伴 .1 1.2创建应用 .2 2Oauth 2.0 接入流程 .3 2.1Server-side flow 接入流程 .3 2.1.1获取授权码 .3 2.1.2用授权码换取 Token.4 2.1.3伪代码示例 .5 3退出用户登陆.6 4获取用户 Nick 或者其他信息.6 5附录.6 5.1参数 redirect_uri 与应用的回调地址的区别和联系.61 开发前的准备工作开发前的准备工作注:如果您之前已经接入过 TOP,可直接跳过此步骤,进入“Oauth2.0 接入流程” 。1.1 申请成为合作伙伴申请成为合作伙伴进入淘宝开放平台首页(http:/open.taobao.com) ,申请成为合作伙伴。1.2 创建应用创建应用(1)创建应用,获得调用 API 所需的 AppKey 和 AppSecret。(2)填写应用基本信息,点击“提交”后, 。注:如果只需调用 API,无需到平台进行 销售,选择“在线订购应用”标签即可。2 Oauth 2.0 接入流程接入流程2.1 Server-side flow 接入流程接入流程此流程要求合作伙伴的应用(以下简称“应用” )是 Web 应用,能够保存应用本身的 密钥以及状态,可以通过 https 直接访问淘宝的授权服务器。 该流程分两个步骤。第一步通过用户授权获取 Code;第二步用上一步获取的 Code 和 应用密钥(AppSecret)通过 Https Post 方式换取 Token。2.1.1 获取授权码获取授权码应用在要求获取用户信息的时候,首先引导用户(Redirect)到登录授权页面 https:/oauth.taobao.com/authorize。必须传的参数有 response_type=code,Client_id(即创 建应用时的 Appkey)和 redirect_uri;可选参数为 state,该参数由应用定义,用户授权后, 授权服务器会原封不动将此参数返回。 注: 应用可通过可选参数 state 来记录用户当前所处的页面位置信息,方便用户登录授 权后,页面回调到用户之前所处的位置。例如: https:/oauth.taobao.com/authorize?response_type=code&client_id=12251541&redirect_uri=ht tp:/www.xx.org&state=1用户登陆后,显示用户授权页面:此时,用户可以选择“授权”或者“取消” (即不同意授权) 。如果用户同意授权,则跳转到应用的回调地址(redirect_uri),同时,应用获得授权码 code如果用户取消授权或者访问出错,2.1.2用授权码换取用授权码换取 Token应用在获取授权码后,发送 Https Post 到授权服务器,授权服务器验证授权码的合法 性和应用的 AppSecret,验证通过后授权服务器返回 Access Token 给应用。 由于是发送 Https post 数据,在这里作为例子,选用 curl 来发送数据:其中的 Code 为上一步获取的授权码,client_secret 即为应用的 AppSecret2.1.3伪代码示例伪代码示例由于目前 Oauth 2.0 的 SDK 还在开发中,在 http:/oauth.net/2 官网上存在的 SDK 也还比较 少。故此在这里提供一段原生的伪代码。假如入口的请求地址为 http:/www.example.com/item/good-01.html则代码示例为:If(Request.getParameter(“code”) 不为空) 发 Post 请求到 https:/oauth.taobao.com/token 获取 Accesstoken 用该 AccessToken 访问 API 获取用户 Nick。 保存用户 Nick 和 AccessToken 的对应关系。End IfIf(Request.getParameter(“error”) 不为空) 自己定义怎么处理这些错误End IfIf(应用已经有用户的 Nick 并且 存在该 Nick 对应的 AccessToken) 用该 AccessToken 访问 API 获取信息。Else 重定向到https:/oauth.taobao.com/authorize?client_id=xxx&redirect_uri=http:/www.ex ample.com/item/good-01.html End IF正常流程为: 请求 http:/www.example.com/item/good-01.html跳转到 https:/oauth.taobao.com/authorize?client_id=xxx&redirect_uri=http:/www.example.com/item /good-01.html然后在授权服务器登陆授权 跳转到 http:/www.example.com/item/good-01.html?code =2132131231234&state=x获取 Accesstoken 访问 API 信息。3 退出用户登陆退出用户登陆用户在已登陆的情况下,如果需要退出登陆,可以访问: https:/oauth.taobao.com/logoff 进行用户退出。需要的参数有 client_id 和 redirect_uri。成 功退出后返回到 redirect_uri 地址。 例如: https:/oauth.taobao.com/logoff?client_id=12225732&redirect_uri=http:/open.taobao.com4 获取用户获取用户 Nick 或者其他信息或者其他信息上一步获取的 AccessToken 的值即等同于 Sessionkey,具体使用方法参考 API 手册。特别提 醒,只需要 AccessToken 即可获取用户 Nick 和其他信息5 附录附录5.1 参数参数 redirect_uri 与应用的回调地址的区别和联系与应用的回调地址的区别和联系应用的回调地址是限制应用行为的基本准则,参数中的 redirect_uri 地址必须与应用的回调 地址相匹配,匹配规则是:协议,主域名,端口号,例如,如果回调地址为 http:/www.example.com,则 http:/xx.example.com/main.html?a=b 是相匹配的。如果 redirect_uri 与回调地址符合匹配规则,如果有跳转,则跳转到 redirect_uri 地址。如果不符 合匹配规则,则跳转到默认的错误页面。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号