From da0476968e7079760c65751d4b99b2e1decad1f4 Mon Sep 17 00:00:00 2001
From: Kamisato-Ayaka-233 <2627706725@qq.com>
Date: Sun, 10 Sep 2023 17:06:49 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90P=E3=80=91=E5=A2=9E=E5=8A=A0=E5=AF=B9L?=
=?UTF-8?q?Token=E5=92=8CSToken=E7=9A=84=E4=B8=8D=E5=90=8C=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E7=9A=84=E8=AF=B4=E6=98=8E=20=E3=80=90A=E3=80=91?=
=?UTF-8?q?=E2=80=9C=E7=94=A8=E6=88=B7=E6=A0=87=E8=AF=86=E7=AC=A6=E2=80=9D?=
=?UTF-8?q?=E6=96=87=E6=A1=A3=E5=A2=9E=E5=8A=A0=E2=80=9C=E9=80=9A=E8=BF=87?=
=?UTF-8?q?SToken=E8=8E=B7=E5=8F=96LToken=EF=BC=88V1=EF=BC=89=E2=80=9D?=
=?UTF-8?q?=E5=92=8C=E2=80=9C=E9=80=9A=E8=BF=87SToken=E8=8E=B7=E5=8F=96LTo?=
=?UTF-8?q?ken=EF=BC=88V1=EF=BC=89=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hoyolab/user/token.md | 133 ++++++++++++++++++++++++++++++++++++++--
other/authentication.md | 4 +-
2 files changed, 130 insertions(+), 7 deletions(-)
diff --git a/hoyolab/user/token.md b/hoyolab/user/token.md
index a1f5096..b61f02f 100644
--- a/hoyolab/user/token.md
+++ b/hoyolab/user/token.md
@@ -1,11 +1,13 @@
# 用户Token
- [Token](#token)
- - [通过Login Ticket获取SToken和LToken](#通过login-ticket获取stoken和ltoken)
+ - [通过Login Ticket获取SToken(V1)和LToken(V1)](#通过login-ticket获取stokenv1和ltokenv1)
- [通过SToken获取Cookie Token](#通过stoken获取cookie-token)
- - [通过Game Token获取SToken](#通过game-token获取stoken)
+ - [通过Game Token获取SToken(V1)](#通过game-token获取stokenv1)
- [通过Game Token获取Cookie Token](#通过game-token获取cookie-token)
- [通过Cookie Token获取Hk4e Token](#通过cookie-token获取hk4e-token)
+ - [通过SToken(V1)获取SToken(V2)](#通过stokenv1获取stokenv2)
+ - [通过SToken获取LToken(V1)](#通过stoken获取ltokenv1)
- [Action Ticket](#action-ticket)
- [通过SToken获取Action Ticket](#通过stoken获取action-ticket)
- [Auth Key](#auth-key)
@@ -16,7 +18,7 @@
## Token
-### 通过Login Ticket获取SToken和LToken
+### 通过Login Ticket获取SToken(V1)和LToken(V1)
**国服:**
@@ -130,7 +132,7 @@ _请求方式:GET_
```
-### 通过Game Token获取SToken
+### 通过Game Token获取SToken(V1)
**国服:**
@@ -331,6 +333,127 @@ _请求方式:POST_
```
+### 通过SToken(V1)获取SToken(V2)
+
+**国服:**
+
+_请求方式:POST_
+
+> _需要验证请求头_
+>
+> `x-rpc-app_id`:`bll8iq97cem8`
+
+> _需要验证Cookie_
+>
+> SToken
+
+`https://passport-api.mihoyo.com/account/ma-cn-session/app/getTokenBySToken`
+
+**JSON返回:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| retcode | num | 返回码 | |
+| message | str | 返回消息 | |
+| data | obj | 该账号的SToken(V2)与部分账号个人信息 | 个人信息已隐藏 |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| token | obj | 该账号的SToken(V2) | |
+| user_info | obj | 部分账号个人信息 | 个人信息已隐藏 |
+| need_realperson | bool | 待调查 | |
+| realname_info | | 待调查 | |
+
+`data`对象→`token`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| token_type | num | 1 | |
+| token | str | 该账号的SToken(V2) | |
+
+
+查看示例
+
+```json
+{
+ "retcode": 0,
+ "message": "OK",
+ "data": {
+ "token": {
+ "token_type": 1,
+ "token": "***"
+ },
+ "user_info": {
+ "aid": "317832114",
+ "mid": "******",
+ "account_name": "",
+ "email": "****",
+ "is_email_verify": 1,
+ "area_code": "+86",
+ "mobile": "****",
+ "safe_area_code": "",
+ "safe_mobile": "",
+ "realname": "***",
+ "identity_code": "************",
+ "rebind_area_code": "",
+ "rebind_mobile": "",
+ "rebind_mobile_time": "0",
+ "links": [],
+ "country": ""
+ },
+ "realname_info": null,
+ "need_realperson": false
+ }
+}
+```
+
+
+### 通过SToken获取LToken(V1)
+
+**国服:**
+
+_请求方式:GET_
+
+> _需要验证Cookie_
+>
+> SToken
+
+`https://passport-api.mihoyo.com/account/auth/api/getLTokenBySToken`
+
+**JSON返回:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| retcode | num | 返回码 | |
+| message | str | 返回消息 | |
+| data | obj | 该账号的LToken(V1) | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| ltoken | str | 该账号的LToken(V1) | |
+
+
+查看示例
+
+```json
+{
+ "retcode": 0,
+ "message": "OK",
+ "data": {
+ "ltoken": "******"
+ }
+}
+```
+
+
## Action Ticket
### 通过SToken获取Action Ticket
@@ -345,7 +468,7 @@ _请求方式:GET_
`https://api-takumi.mihoyo.com/auth/api/getActionTicketBySToken`
-**JSON请求:**
+**参数:**
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
diff --git a/other/authentication.md b/other/authentication.md
index 59d7d62..ed620a7 100644
--- a/other/authentication.md
+++ b/other/authentication.md
@@ -360,7 +360,7 @@ const final = `${t},${r},${ds}` // 最终结果
即`ltoken_v2`和`ltoken`。
-`ltoken_v2`和`ltoken`并不总是使用相同的值,多用于查询用户的游戏账号信息。
+`ltoken_v2`和`ltoken`并不总是使用相同的值,多用于查询用户的游戏账号信息。其被命名为“LToken(V1)”与“LToken(V2)”。
`ltoken_v2`必须与[`ltmid_v2`](#mihoyo-id)一起使用,`ltoken`必须与[`ltuid`](#account-id)一起使用。
@@ -380,7 +380,7 @@ const final = `${t},${r},${ds}` // 最终结果
#### MiHoYo ID
-分为与[LToken](#ltoken)一起使用的`ltmid_v2`,和与[SToken](#stoken)一起使用的`mid`
+分为与[LToken](#ltoken)一起使用的`ltmid_v2`,和与[SToken](#stoken)一起使用的`mid`。其被命名为“SToken(V1)”与“SToken(V2)”。
`ltmid_v2`和`mid`的值是相同,对应一个账号。