网站应用接入
一、 介绍
二、 准备工作
appId
和 appSecret
,详细参考申请注册流程。scope
,后续授权过程中会使用。三、获取授权码
1. 网页登陆后授权模式
https://open.kuaishou.com/oauth2/authorize?app_id=your_app_id&scope=user_info&response_type=code&ua=pc&redirect_uri=your_callback_url&state=your_state
https://open.kuaishou.com
GET /oauth2/authorize
名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
app_id | string | 是 | 注册时获取的应用ID |
scope | string | 是 | 注册时申请的权限标识,多个scope可以使用","分割,代表需要用户授权什么能力,例如需要向用户快手账号下上传视频时,申请的scope需要包含user_video_publish |
response_type | string | 是 | 写死 code |
redirect_uri | string | 是 | 授权成功后的回调地址,必须以http/https开头。和注册时的回调地址保持schema 和子域名 一致 |
state | string | 否 | 安全参数,标识和用户或者设备相关的授权请求。建议开发者实现。回调的时候会带回。 |
ua | string | 否 | 运行环境,普通网页传pc, H5网页不传此参数即可 |
授权码
回调给第三方网站的回调地址,示例如下:your_callback_uri?code=xxxxxxxx&state=your_state
错误信息
回调给第三方网站的回调地址,示例如下:your_callback_uri?error=200102&error_msg=invlaid uri
2. 手机扫码授权模式
https://open.kuaishou.com
GET /oauth2/connect
名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
app_id | string | 是 | 注册时获取的应用ID |
scope | string | 是 | 注册时申请的权限标识,多个scope可以使用","分割 |
response_type | string | 是 | 写死 code |
redirect_uri | string | 是 | 授权成功后的回调地址,必须以http/https开头。和注册时的回调地址保持schema 和子域名 一致 |
state | string | 否 | 安全参数,标识和用户或者设备相关的授权请求。建议开发者实现。回调的时候会带回。 |
size | number | 否 | 该字段定义页面上二维码的大小。 默认为 280px * 280px,若需要改变二维码大小,需定义该字段。 |
href | string | 否 | 自定义css样式链接地址,第三方可根据实际需求覆盖默认样式,详情见下方示例。详情见下方FAQ |
授权码
回调给第三方网站的回调地址,示例如下:your_callback_uri?code=xxxxxxxx&state=your_state
https://open.kuaishou.com/oauth2/connect?app_id=your_app_id&scope=user_info&response_type=code&redirect_uri=your_callback_url&state=your_state
1年
。快手APP
内打开回调地址界面,回传授权码
和state
。授权码
和state
回传到开发者服务器,二维码载体使用唯一标识向自己的服务器轮训此次结果即可。https://open.kuaishou.com
GET /oauth2/qr_code
名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
app_id | string | 是 | 注册时获取的应用ID |
scope | string | 是 | 注册时申请的权限标识,多个scope可以使用","分割,代表需要用户授权什么能力,例如需要向用户快手账号下上传视频时,申请的scope需要包含user_video_publish |
response_type | string | 是 | 写死 code |
redirect_uri | string | 是 | 授权成功后的回调地址,必须以http/https开头。和注册时的回调地址保持schema 和子域名 一致,此场景下,redirect_uri必须是一个公网可访问的地址 |
state | string | 否 | 自定义参数,可以标识用户或者设备相关的授权请求。回调的时候会带回。 |
qr_size | int | 否 | 二维码大小,最小不小于64,最大不大于1000,默认450。 |
type | string | 否 | 返回值类型,可选img 和path ,选择img 会返回二维码图片,选择path 会返回二维码内容的地址,开发者可以自己生成二维码 。默认 img 。 |
debug | bool | 否 | 时候开启调试模式,开启后,在用户授权失败时,会在快手APP内显示调试信息,可以根据调试信息来调试.默认false |
授权码
和state
回调给第三方网站的回调地址,注意:此界面是打开在快手APP内,注意展示适配
。示例如下:your_callback_uri?code=xxxxxxxx&state=your_state
https://open.kuaishou.com/oauth2/qr_code?app_id=your_app_id&scope=user_info&response_type=code&redirect_uri=your_callback_url&state=your_state&qr_size=300
四、获取 accessToken
accessToken
五、撤销Web的登录态
https://id.kuaishou.com/pass/kuaishou/login/logout?sid=kuaishou.oauth
该链接不支持跨域,如果要在第三方页面内嵌入,请使用iframe模式。
FAQ
答:下面列出了待扫码态、 扫码成功、超时、二维码获取错误、用户取消授权、用户授权成功的六种样式:
答:二维码本身默认是280px *280px,若需要改变,只需要在url的query里面添加size参数。假设要将二维码大小设置为150px * 150px,url拼接示例:
https://open.kuaishou.com/oauth2/connect?app_id=XXXXXX&scope=XXXX&redirect_uri=XXXXX&state=1&size=150,效果如下图:
答:通过将自定义css样式链接地址赋值给href参数实现自定义ui样式。比如将页面的黑色背景该为白色、改变二维码所在区域白色框的颜色为灰色、改变“快手登录”四个字的字体大小。示例css链接文件地址:https://ali.static.yximgs.com/kos/nlav10382/normal/qr-href.010f6dbce3ab37fd.css,url拼接示例:https://open.kuaishou.com/oauth2/connect?app_id=XXXXXX&scope=XXXX&redirect_uri=XXXXX&state=1&&href=https://ali.static.yximgs.com/kos/nlav10382/normal/qr-href.010f6dbce3ab37fd.css&size=150
效果如下:
答:页面元素结构:
// 页面整体元素
.oauth {}
// 页面中白框所在元素,也就是二维码所在的白色框体
.oauth .qr-code {}
// "快手登录"字体样式
.oauth .qr-code .qr-title {}
// 二维码中间的快手logo
.oauth .qr-code-logo {}
// 二维码下方文案样式
.oauth .qr-refresh-text {}
// 二维码下方解释文案的icon
.oauth .qr-refresh-text img {}
// 二维码错误时的背景图片
.oauth .qr-code-error {}
https://ali.static.yximgs.com/kos/nlav10382/normal/qr-href.010f6dbce3ab37fd.css
https://ali.static.yximgs.com/kos/nlav10382/normal/pure-qr.4029bea4899bf8b1.css
修改于 2021-12-29 03:57:02