From 153adf5bc42e93f29fa9a6bafb9f41911cd62a3e Mon Sep 17 00:00:00 2001
From: Lo Mu <61622984+LuoRenMu@users.noreply.github.com>
Date: Sun, 19 Nov 2023 22:02:40 +0800
Subject: [PATCH 1/4] =?UTF-8?q?add:=20=E6=96=B0=E8=AE=BE=E5=A4=87=E9=AA=8C?=
=?UTF-8?q?=E8=AF=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hoyolab/login/password_hoyolab.md | 136 +++++++++++++++++++++++++++++-
1 file changed, 134 insertions(+), 2 deletions(-)
diff --git a/hoyolab/login/password_hoyolab.md b/hoyolab/login/password_hoyolab.md
index 2af97e8..4407e11 100644
--- a/hoyolab/login/password_hoyolab.md
+++ b/hoyolab/login/password_hoyolab.md
@@ -4,6 +4,7 @@
- [操作步骤](#操作步骤)
- [获取设备指纹(`device_fp`)](#获取设备指纹)
- [发送登录请求](#发送登录请求)
+ - [新设备验证](#新设备登录验证)
---
@@ -153,8 +154,8 @@ _请求方式:POST_
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
-| retcode | num | 返回码 | |
-| message | str | 返回消息 | |
+| retcode | num | 返回码 | -3235新设备登录([需手机短信验证](#新设备登录验证)) |
+| message | str | 返回消息 | |
| data | obj | 账号信息 | |
`data`对象:
@@ -243,4 +244,135 @@ _请求方式:POST_
"retcode": 0
}
```
+
+
+### 新设备登录验证
+
+
+**国服:**
+
+前提-->[获取登录信息接口响应头](#获取登录信息):
+
+`X-Rpc-Verify`:
+```json
+{
+ "action_ticket":"106ffc83feb64f5f9bfa9e0dd1c91dca",
+ "verify_str":
+ {
+ "ticket":"23123433c12e1bf40f2a76bb2",
+ "verify_type":"2"
+ }
+}
+```
+
+
+| 字段 | 类型 | 内容 | 备注 |
+| --------------- | ---- | -------------------------------------------- | ------------ |
+| action_ticket | str | 待考察 | |
+
+`verify_str`根对象
+| 字段 | 类型 | 内容 | 备注 |
+| --------------- | ---- | -------------------------------------------- | ------------ |
+| ticket | str | 用户验证标识符 | 总是为空字符串 |
+| verify_type | str | 验证类型 | |
+
+
+查看示例
+
+```text
+HTTP/1.1 200 OK
+Date: Sun, 19 Nov 2023 10:23:44 GMT
+Content-Type: application/json
+Content-Length: 138
+Connection: keep-alive
+Set-Cookie: aliyungf_tc=###; Path=/; HttpOnly
+Access-Control-Expose-Headers: x-rpc-verify
+Vary: Origin
+Vary: Accept-Encoding
+X-Powered-By: takumi
+X-Rpc-Verify: {"action_ticket":"106ffc83f123asdzfa9e0dd1c91dca","verify_str":"{\"ticket\":\"23123433c12e1bf40f2a76bb2\",\"verify_type\":\"2\"}"}
+X-Trace-Id: 2d79248aa55754e9:2d79248aa55754e9:0:1
+
+{"data":null,"message":"您正在新设备上登录,为保障您的账号安全,请先使用手机短信验证身份","retcode":-3235}
+```
+
+
+
+_请求方式:POST_
+`https://passport-api.mihoyo.com/account/ma-cn-verifier/verifier/createMobileCaptchaByActionTicket`
+> _需要验证请求头_
+>
+> `x-rpc-app_id`:`bll8iq97cem8`
+>
+> `x-rpc-client_type`:`2`
+>
+> `x-rpc-game_biz`:`bbs_cn`
+>
+> `x-rpc-device_fp`:刚获取的设备指纹
+>
+> `x-rpc-device_id`:与上个步骤传递的设备ID相同
+
+**JSON请求:**
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| action_ticket | str | 登录信息响应体中的ticket | |
+| action_type | str | 操作 |此处为verify_for_component |
+
+
+
+查看示例
+
+```json
+{
+ "action_ticket":"fbca6ce757964296be7b0d0a3c558c5c",
+ "action_type":"verify_for_component"
+}
+```
+
+
+
+**JSON返回:**
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| retcode | num | 返回码 | 为-3101触发人机验证 |
+| message | str | 返回信息 | |
+
+
+
+查看示例
+
+```json
+{
+ "retcode":0,
+ "message":"OK",
+ "data":{}
+}
+```
+
+
+
+**触发人机验证:**
+
+**响应头**
+[极验文档](https://docs.geetest.com/gt4/deploy/server#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0)
+
+`X-Rpc-Aigis`:
+```json
+{
+ "session_id":"12131231231aa028d9c",
+ "mmt_type":1,
+ "data":
+ {
+ "success":1,
+ "gt":"123123123123123b162892",
+ "challenge":"123123123123ea064ed3a76",
+ "new_captcha":1
+ }
+}
+```
+
+
+
+
From 581bb706ca49468fe090913c02d3d24bbb7992d8 Mon Sep 17 00:00:00 2001
From: Lo Mu <61622984+LuoRenMu@users.noreply.github.com>
Date: Sun, 19 Nov 2023 23:11:02 +0800
Subject: [PATCH 2/4] add: verifier code and login info Api
---
hoyolab/login/password_hoyolab.md | 75 ++++++++++++++++++++++++++++++-
1 file changed, 74 insertions(+), 1 deletion(-)
diff --git a/hoyolab/login/password_hoyolab.md b/hoyolab/login/password_hoyolab.md
index 4407e11..c488ca4 100644
--- a/hoyolab/login/password_hoyolab.md
+++ b/hoyolab/login/password_hoyolab.md
@@ -268,7 +268,7 @@ _请求方式:POST_
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | -------------------------------------------- | ------------ |
-| action_ticket | str | 待考察 | |
+| action_ticket | str | 设备通过后用于请求获取用户登录信息 | |
`verify_str`根对象
| 字段 | 类型 | 内容 | 备注 |
@@ -279,6 +279,7 @@ _请求方式:POST_
查看示例
+只需要 X-Rpc-Verify 字段内容
```text
HTTP/1.1 200 OK
Date: Sun, 19 Nov 2023 10:23:44 GMT
@@ -373,6 +374,78 @@ _请求方式:POST_
}
```
+#### 设备验证请求
+_请求方式:post_
+`https://passport-api.mihoyo.com/account/ma-cn-verifier/verifier/verifyActionTicketPartly`
+
+*json请求*
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| action_ticket | str | 响应体获取的ticket | |
+| action_type | str | 操作 |此处为verify_for_component |
+| verify_method | num | 验证模式 | 此处参考米游社为1 |
+| mobile_captcha | str | 设备接收到的验证码 | |
+
+
+
+查看示例
+
+```json
+{
+ "action_ticket":"23123433c12e1bf40f2a76bb2",
+ "action_type":"verify_for_component",
+ "verify_method":1,
+ "mobile_captcha":"980243"
+}
+```
+
+
+
+**JSON返回:**
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| retcode | num | 返回码 | 为-3101触发人机验证 |
+| message | str | 返回信息 | |
+
+
+
+查看示例
+
+```json
+{
+ "retcode":0,
+ "message":"OK",
+ "data":{}
+}
+```
+
+
+
+#### 通过Ticket获取登录信息
+_请求方式:post_
+https://passport-api.mihoyo.com/account/ma-cn-passport/app/checkRiskVerified
+
+**json请求**
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | ---- | ---- |
+| action_ticket | str | 响应体获取获取的action_ticket | |
+
+
+查看示例
+
+```json
+{
+ "action_ticket":"106ffc83f123asdzfa9e0dd1c91dca"
+}
+```
+
+
+**JSON返回:**
+
+与[获取登录信息](#获取登录信息)一致
+
From 4c1177fb26d8b90a9510b448f773e895b81d4dca Mon Sep 17 00:00:00 2001
From: Lo Mu <61622984+LuoRenMu@users.noreply.github.com>
Date: Mon, 20 Nov 2023 19:12:53 +0800
Subject: [PATCH 3/4] Change: text format
---
hoyolab/login/password_hoyolab.md | 47 ++++++++++++++++---------------
1 file changed, 24 insertions(+), 23 deletions(-)
diff --git a/hoyolab/login/password_hoyolab.md b/hoyolab/login/password_hoyolab.md
index c488ca4..c2871f8 100644
--- a/hoyolab/login/password_hoyolab.md
+++ b/hoyolab/login/password_hoyolab.md
@@ -251,9 +251,9 @@ _请求方式:POST_
**国服:**
-前提-->[获取登录信息接口响应头](#获取登录信息):
+前提->[获取登录信息接口响应头](#获取登录信息)(在recode返回-3235时):
-`X-Rpc-Verify`:
+`x-rpc-verify`:
```json
{
"action_ticket":"106ffc83feb64f5f9bfa9e0dd1c91dca",
@@ -273,28 +273,28 @@ _请求方式:POST_
`verify_str`根对象
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | -------------------------------------------- | ------------ |
-| ticket | str | 用户验证标识符 | 总是为空字符串 |
+| ticket | str | 用户验证标识符 | |
| verify_type | str | 验证类型 | |
查看示例
-只需要 X-Rpc-Verify 字段内容
-```text
-HTTP/1.1 200 OK
-Date: Sun, 19 Nov 2023 10:23:44 GMT
-Content-Type: application/json
-Content-Length: 138
-Connection: keep-alive
-Set-Cookie: aliyungf_tc=###; Path=/; HttpOnly
-Access-Control-Expose-Headers: x-rpc-verify
-Vary: Origin
-Vary: Accept-Encoding
-X-Powered-By: takumi
-X-Rpc-Verify: {"action_ticket":"106ffc83f123asdzfa9e0dd1c91dca","verify_str":"{\"ticket\":\"23123433c12e1bf40f2a76bb2\",\"verify_type\":\"2\"}"}
-X-Trace-Id: 2d79248aa55754e9:2d79248aa55754e9:0:1
-{"data":null,"message":"您正在新设备上登录,为保障您的账号安全,请先使用手机短信验证身份","retcode":-3235}
+```json
+// 响应头
+// x-rpc-verify
+{
+ "action_ticket": "106ffc83f123asdzfa9e0dd1c91dca",
+ "verify_str": "{\"ticket\":\"23123433c12e1bf40f2a76bb2\",\"verify_type\":\"2\"}"
+}
+
+
+// 响应体:
+{
+ "data": null,
+ "message": "您正在新设备上登录,为保障您的账号安全,请先使用手机短信验证身份",
+ "retcode": -3235
+}
```
@@ -357,9 +357,10 @@ _请求方式:POST_
**触发人机验证:**
**响应头**
-[极验文档](https://docs.geetest.com/gt4/deploy/server#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0)
+[参考极验文档](https://docs.geetest.com/gt4/deploy/server#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0)
-`X-Rpc-Aigis`:
+
+`x-rpc-aigis`:
```json
{
"session_id":"12131231231aa028d9c",
@@ -382,7 +383,7 @@ _请求方式:post_
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
-| action_ticket | str | 响应体获取的ticket | |
+| action_ticket | str | 响应体下verify_str的ticket参数 | |
| action_type | str | 操作 |此处为verify_for_component |
| verify_method | num | 验证模式 | 此处参考米游社为1 |
| mobile_captcha | str | 设备接收到的验证码 | |
@@ -405,7 +406,7 @@ _请求方式:post_
**JSON返回:**
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
-| retcode | num | 返回码 | 为-3101触发人机验证 |
+| retcode | num | 返回码 | |
| message | str | 返回信息 | |
@@ -430,7 +431,7 @@ https://passport-api.mihoyo.com/account/ma-cn-passport/app/checkRiskVerified
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
-| action_ticket | str | 响应体获取获取的action_ticket | |
+| action_ticket | str | 响应体下的action_ticket | |
查看示例
From 48b2512818e79292e1353f5696b4f238511e44de Mon Sep 17 00:00:00 2001
From: Lo Mu <61622984+LuoRenMu@users.noreply.github.com>
Date: Mon, 20 Nov 2023 19:20:00 +0800
Subject: [PATCH 4/4] Change: text format
---
hoyolab/login/password_hoyolab.md | 40 ++++++++++++++++++-------------
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/hoyolab/login/password_hoyolab.md b/hoyolab/login/password_hoyolab.md
index c2871f8..67e4569 100644
--- a/hoyolab/login/password_hoyolab.md
+++ b/hoyolab/login/password_hoyolab.md
@@ -253,7 +253,8 @@ _请求方式:POST_
前提->[获取登录信息接口响应头](#获取登录信息)(在recode返回-3235时):
-`x-rpc-verify`:
+`x-rpc-verify`:
+
```json
{
"action_ticket":"106ffc83feb64f5f9bfa9e0dd1c91dca",
@@ -268,13 +269,13 @@ _请求方式:POST_
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | -------------------------------------------- | ------------ |
-| action_ticket | str | 设备通过后用于请求获取用户登录信息 | |
+| action_ticket | str | 设备通过后用于请求获取用户登录信息 | |
`verify_str`根对象
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | -------------------------------------------- | ------------ |
| ticket | str | 用户验证标识符 | |
-| verify_type | str | 验证类型 | |
+| verify_type | str | 验证类型 | |
查看示例
@@ -296,12 +297,12 @@ _请求方式:POST_
"retcode": -3235
}
```
-
+
_请求方式:POST_
-`https://passport-api.mihoyo.com/account/ma-cn-verifier/verifier/createMobileCaptchaByActionTicket`
+
> _需要验证请求头_
>
> `x-rpc-app_id`:`bll8iq97cem8`
@@ -312,9 +313,12 @@ _请求方式:POST_
>
> `x-rpc-device_fp`:刚获取的设备指纹
>
-> `x-rpc-device_id`:与上个步骤传递的设备ID相同
+> `x-rpc-device_id`:与上个步骤传递的设备ID相同
-**JSON请求:**
+
+`https://passport-api.mihoyo.com/account/ma-cn-verifier/verifier/createMobileCaptchaByActionTicket`
+
+**JSON请求:**
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
@@ -322,7 +326,7 @@ _请求方式:POST_
| action_type | str | 操作 |此处为verify_for_component |
-
+
查看示例
```json
@@ -354,13 +358,14 @@ _请求方式:POST_
-**触发人机验证:**
+**触发人机验证:**
-**响应头**
+**响应头**
[参考极验文档](https://docs.geetest.com/gt4/deploy/server#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0)
`x-rpc-aigis`:
+
```json
{
"session_id":"12131231231aa028d9c",
@@ -375,18 +380,20 @@ _请求方式:POST_
}
```
-#### 设备验证请求
-_请求方式:post_
+#### 设备验证请求
+
+_请求方式:POST_
+
`https://passport-api.mihoyo.com/account/ma-cn-verifier/verifier/verifyActionTicketPartly`
-*json请求*
+**json请求**
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
| action_ticket | str | 响应体下verify_str的ticket参数 | |
| action_type | str | 操作 |此处为verify_for_component |
| verify_method | num | 验证模式 | 此处参考米游社为1 |
-| mobile_captcha | str | 设备接收到的验证码 | |
+| mobile_captcha | str | 设备接收到的验证码 | |
@@ -424,8 +431,9 @@ _请求方式:post_
#### 通过Ticket获取登录信息
-_请求方式:post_
-https://passport-api.mihoyo.com/account/ma-cn-passport/app/checkRiskVerified
+_请求方式:POST_
+
+`https://passport-api.mihoyo.com/account/ma-cn-passport/app/checkRiskVerified`
**json请求**