淘宝授权登录 oauth2.0
最近做自己的个人网站,涉及到了用户登录,为了省去用户注册步骤,博主直接走了淘宝授权的模式,获取基本的用户昵称信息其实就可以了。简单的入库用于后续可能会有人对网站进行评论等互动操作。
0. 不熟悉的同学可以先大致了解下 oauth 认证流程
1. 开发者入驻以及应用创建🧁
做这个授权如果需要上线的话,需要有自己的服务器,如果拿来练手了解的可以看 2.本地调试
taobao接入指南 就放在这里了 可以按照这个把开发者入住,应用创建完成好。
我主要解释下开发与测试,以web端为例
2. 本地调试
着重需要注意下回调的地址: 淘宝的回调地址是有要求的 需要带上www
a. 本地开发的方式
没有域名的同学 可以使用内网穿透的方式,将公网地址映射到本地有域名的同学可以通过域名解析 将域名指向本机 127.0.0.1上线后需要把地址指向服务器ip
b. 授权码拼接
在客户端发起登录请求后,在服务端进行授权码拼接及重定向:
`https://oauth.taobao.com/authorize?response_type=code&client_id=KaTeX parse error: Expected 'EOF', got '&' at position 9: {AppKey}&̲redirect_uri={redirect_uri}&state=${state}&view=web`
params :
[client_id] : // 应用创建时的 AppKey;
[redirect_uri] :// 在用户登录后,淘宝转发地址 指向自己服务器以完成后续淘宝用户基本信息获取
[state] :// 最终返回的页面地址,这个值可以在请求头 refer里获取,最好加个encode以防止带参链接的问题 `encodeURIComponent(referer)`
用户授权详细文档
c. 获取accessToken信息
淘宝登录操作完成后会自动调用 redirect_uri 地址,并且带上code与state信息
我们在这个 redirect_uri 路由下发起请求:
url:https://oauth.taobao.com/token;
params:
- [client_id]: // AppKey
- [client_secret]: // AppSecret
- [grant_type]: 'authorization_code' // 授权方式
- [code]: // 会在回调url中带上
- redirect_uri: // 平台设置的回调地址,
附录:
淘宝开放平台-开发者控制台淘宝开发者入驻指南oauth授权指南-web端错误码排查