mirror of
https://github.com/SocialSisterYi/bilibili-API-collect.git
synced 2024-12-26 12:30:07 +08:00
添加app方式api鉴权
This commit is contained in:
parent
8c806b6ed2
commit
3c91c4b699
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,6 +0,0 @@
|
||||
|
||||
login/password&SMS.md
|
||||
B站API.txt
|
||||
live/info_flow.md
|
||||
bangumi/info.md
|
||||
bangumi/ststus_number.md
|
@ -31,7 +31,7 @@
|
||||
|
||||
计划整理分类&目录:(√代表已完成,x代表正在施工...)
|
||||
|
||||
- [API认证与鉴权](other/API_auth.md)×
|
||||
- [API认证与鉴权](other/API_auth.md)(APP与Cookie方式)×
|
||||
- [图片格式化](other/picture.md)√
|
||||
- [登录](login)
|
||||
- [二维码登录](login/QR.md)√
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />-509:请求过于频繁<br />12002:评论区已关闭<br />12006:没有该评论<br />12009:评论主体的type不合法<br />12016:评论内容包含敏感信息<br />12025:评论字数过多<br />12051:重复评论,请勿刷屏<br />**(其他错误码有待补充)** |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />-509:请求过于频繁<br />12002:评论区已关闭<br />12006:没有该评论<br />12009:评论主体的type不合法<br />12015:需要评论验证码<br />12016:评论内容包含敏感信息<br />12025:评论字数过多<br />12035:该账号被UP主列入评论黑名单<br />12051:重复评论,请勿刷屏<br />**(其他错误码有待补充)** |
|
||||
| message | str | 错误信息 | <br /> |
|
||||
| ttl | num | 1 | **作用尚不明确** |
|
||||
| data | obj | 数据本体 | |
|
||||
|
14
login/QR.md
14
login/QR.md
@ -2,24 +2,24 @@
|
||||
|
||||
流程&逻辑:
|
||||
|
||||
1. 获取`二维码内容url`以及`秘钥`,以`二维码内容url`生成二维码,等待手机客户端扫描
|
||||
2. 以`秘钥`作为参数进行POST
|
||||
1. 获取`二维码内容url`以及`密钥`,以`二维码内容url`生成二维码,等待手机客户端扫描
|
||||
2. 以`密钥`作为参数进行POST
|
||||
3. if "code"==true goto 6 else goto 4(是否已经确认)
|
||||
4. if "data"==-4 goto 2 else goto 5(是否已经扫描)
|
||||
5. if "data"==-5 goto 3 && 提示`已扫描`else goto 1&提示`二维码超时或错误`(秘钥是否有效)
|
||||
5. if "data"==-5 goto 3 && 提示`已扫描`else goto 1&提示`二维码超时或错误`(密钥是否有效)
|
||||
6. 成功后会自动配置cookie 如需登录游戏分站则访问`data`.`url`中的url
|
||||
|
||||
<img src="/imgs/2233login.png"/>
|
||||
|
||||
|
||||
|
||||
## 申请二维码URL及扫码秘钥
|
||||
## 申请二维码URL及扫码密钥
|
||||
|
||||
> http://passport.bilibili.com/qrcode/getLoginUrl
|
||||
|
||||
*方式:GET*
|
||||
|
||||
秘钥超时为180秒
|
||||
密钥超时为180秒
|
||||
|
||||
**json回复:**
|
||||
|
||||
@ -64,7 +64,7 @@ http://passport.bilibili.com/qrcode/getLoginUrl
|
||||
|
||||
*方式:POST*
|
||||
|
||||
秘钥超时为180秒
|
||||
密钥超时为180秒
|
||||
|
||||
验证正确时会进行设置以下cookie项:
|
||||
|
||||
@ -98,7 +98,7 @@ data 对象:
|
||||
|
||||
curl -d "oauthKey=xxx" "http://passport.bilibili.com/qrcode/getLoginInfo"
|
||||
|
||||
当秘钥正确时但未扫描时`status`为`false`,`data`为num值`-4`
|
||||
当密钥正确时但未扫描时`status`为`false`,`data`为num值`-4`
|
||||
|
||||
```json
|
||||
{
|
||||
|
@ -8,10 +8,45 @@ cookie中的值在访问登录接口成功登录时,用`set-cookie`写入
|
||||
|
||||
Token有效期为1月,更改密码或过期失效
|
||||
|
||||
| cookie项 | 含义 | 备注 |
|
||||
| ----------------- | ----------------- | ------------------ |
|
||||
| DedeUserID | 当前用户UID | |
|
||||
| DedeUserID__ckMd5 | 用户UID md5校验值 | |
|
||||
| SESSDATA | 登录Token | 用于用户识别与鉴权 |
|
||||
| bili_jct | CSRF Token | 用于操作性接口 |
|
||||
| cookie项 | 含义 | 备注 |
|
||||
| ----------------- | ----------------- | ------------------------------------------ |
|
||||
| DedeUserID | 当前用户UID | |
|
||||
| DedeUserID__ckMd5 | 用户UID md5校验值 | |
|
||||
| SESSDATA | 登录Token | 用于用户识别与鉴权<br />作用同`access_key` |
|
||||
| bili_jct | CSRF Token | 用于操作性接口 |
|
||||
|
||||
## app方式
|
||||
|
||||
| 参数 | 含义 | 备注 |
|
||||
| ------------- | ---------------- | -------------- |
|
||||
| appkey | app密钥 | |
|
||||
| sign | app签名 | |
|
||||
| access_key | app登录Token | |
|
||||
| refresh_token | app刷新登录Token | 仅在刷新时使用 |
|
||||
|
||||
**接口鉴权:**
|
||||
|
||||
使用`appkey`作为api的必要参数,并使用除`sign`外所有参数的url字串后连接相对应的盐值进行**md5校验**(32位小写),把计算结果作为sign的值,与前面参数一同发送
|
||||
|
||||
**appkey与sign盐值一一对应**
|
||||
|
||||
已知的appkey与签名:
|
||||
|
||||
| appkey | sign盐值 |
|
||||
| ---------------- | -------------------------------- |
|
||||
| 1d8b6e7d45233436 | 560c52ccd288fed045859ed18bffd973 |
|
||||
| bb3101000e232e27 | 36efcfed79309338ced0380abd824ac1 |
|
||||
| 07da50c9a0bf829f | 75d35aa5c06fb46e40059a6a5bf671a6 |
|
||||
| 4409e2ce8ffd12b8 | 59b43e04ad6965f34319062b478f83dd |
|
||||
| 37207f2beaebf8d7 | e988e794d4d4b6dd43bc0e89d6e90c43 |
|
||||
|
||||
例如:
|
||||
|
||||
参数的url为`appkey=1d8b6e7d45233436&test=123`->连接盐值后为`appkey=1d8b6e7d45233436&test=123560c52ccd288fed045859ed18bffd973`->进行md5 32bit校验,结果为`8a3fdd74911862810f5c78f65afcce5d`->最终参数为`appkey=1d8b6e7d45233436&test=123&sign=8a3fdd74911862810f5c78f65afcce5d`
|
||||
|
||||
**身份认证:**
|
||||
|
||||
使用参数` access_key `进行身份验证,有效期为1月,作用同`SESSDATA`
|
||||
|
||||
可以使用` refresh_token `进行刷新
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user