继续修改文档格式 补完TV端扫码登录

This commit is contained in:
SocialSisterYi
2020-07-18 23:56:10 +08:00
parent b8035da959
commit 57e130070f
36 changed files with 1158 additions and 386 deletions

View File

@@ -1,6 +1,6 @@
# 二维码登录
流程&逻辑:
web端流程&逻辑:
1. 获取`二维码内容url`以及`密钥`,以`二维码内容url`生成二维码,等待手机客户端扫描
2.`密钥`作为参数进行POST
@@ -9,6 +9,12 @@
5. if "data"==-5 goto 3 && 提示`已扫描`else goto 1&提示`二维码超时或错误`(密钥是否有效)
6. 成功后会自动配置cookie 如需登录游戏分站则访问`data`.`url`中的url
TV端流程&逻辑:
1. 获取`二维码内容url`以及`密钥`,以`二维码内容url`生成二维码,等待手机客户端扫描
2.`密钥`作为参数进行POST
3.
<img src="/imgs/2233login.png"/>
@@ -97,11 +103,11 @@ data 对象:
**示例:**
例如扫码秘钥`23333`
使用扫描秘钥`c3bd5286a2b40a822f5f60e9bf3f602e`登录
```shell
curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
--data-urlencode 'oauthKey=23333'\
--data-urlencode 'oauthKey=c3bd5286a2b40a822f5f60e9bf3f602e'\
-c 'cookie.txt'
```
@@ -177,8 +183,6 @@ bili_jct=(csrf)&
gourl=(跳转网址 默认为主页)
## 申请二维码URL及扫码密钥TV端
> http://passport.bilibili.com/x/passport-tv-login/qrcode/auth_code
@@ -189,25 +193,27 @@ gourl=(跳转网址 默认为主页)
密钥超时为180秒
本接口可申请用于APP方式登录的`access_key`
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ---------- | ----------- | ----- |
| appkey | str | APP密钥 | APP方式必要 | |
| local_id | str | TV端ID | APP方式必要 | 可为0 |
| ts | num | 当前时间戳 | APP方式必要 | |
| sign | str | APP签名 | APP方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ---------- | ----------- | ------------------------ |
| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` |
| local_id | str | TV端ID | TV端必要 | 可为0 |
| ts | num | 当前时间戳 | APP方式必要 | |
| sign | str | APP签名 | APP方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------- |
| code | num | 返回值 | 0成功 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-3API校验密匙错误<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@@ -218,3 +224,92 @@ gourl=(跳转网址 默认为主页)
**示例:**
```shell
curl 'http://passport.bilibili.com/x/passport-tv-login/qrcode/auth_code'\
--data-urlencode 'appkey=4409e2ce8ffd12b8'\
--data-urlencode 'local_id=0'\
--data-urlencode 'ts=0'\
--data-urlencode 'sign=e134154ed6add881d28fbdf68653cd9c'
```
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"url": "https://passport.bilibili.com/x/passport-tv-login/h5/qrcode/auth?auth_code=0eeb635a64526709d70cb4c854a3b001",
"auth_code": "0eeb635a64526709d70cb4c854a3b001"
}
}
```
## 使用扫码登录TV端
> http://passport.bilibili.com/x/passport-tv-login/qrcode/poll
*请求方式POST*
鉴权方式appkey
密钥超时为180秒
验证登录成功后会返回可用于APP方式登录的`access_key`以及`refresh_token`
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| --------- | ---- | ---------- | ----------- | ------------------------ |
| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` |
| auth_code | str | 扫码秘钥 | 必要 | |
| local_id | str | TV端ID | TV端必要 | 可为0 |
| ts | num | 当前时间戳 | APP方式必要 | |
| sign | str | APP签名 | APP方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----------------------------- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-3API校验密匙错误<br />-400请求错误<br />86038二维码已失效<br />86039二维码尚未确认 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | 有效时obj<br />无效时null | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | -------------------- |
| mid | num | 登录用户UID | |
| access_token | str | APP登录Token | |
| refresh_token | str | APP刷新Token | |
| expires_in | num | 有效时间 | 单位为秒 一般为30天 |
**示例:**
使用扫描秘钥`6214464b3025541abf6f654cf7569a01`进行验证登录
```shell
curl 'http://passport.bilibili.com/x/passport-tv-login/qrcode/poll'\
--data-urlencode 'appkey=4409e2ce8ffd12b8'\
--data-urlencode 'auth_code=6214464b3025541abf6f654cf7569a01'\
--data-urlencode 'local_id=0'\
--data-urlencode 'ts=0'\
--data-urlencode 'sign=87de3d0fee7c3f4facd244537238914e'\
```
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"mid": 293793435,
"access_token": "***",
"refresh_token": "***",
"expires_in": 2592000
}
}
```

View File

@@ -84,8 +84,6 @@ curl 'http://passport.bilibili.com/web/generic/country/list'
}
```
## 发送短信验证码web端
> http://passport.bilibili.com/web/sms/general/v2/send