BeyondDimension / BeyondDimension/SteamTools
🐛[BUG] 无法绑定QQ
- Dominant language
- C#
- Stars
- 26.8k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
### 🐛 描述
因为我的QQ账号注册过Watt Toolkit,但是我现在用的是手机号注册的Watt Toolkit,所以我先将QQ注册的Watt Toolkit账号注销,并使用手机号登陆后,重新扫码绑定QQ,扫码成功但是账号绑定界面没有任何变化。
### 📷 复现步骤
1,QQ扫码登陆并注销账号
2,手机验证码登陆并绑定QQ
### 📄 日志信息
2024-03-08 09:14:07.4170|Error|BD.WTTS.Services.Implementation.ApiConnection|ApiConn Fail(1006 - ClientException),Url:/identity/loginshop/token | System.Text.Json.JsonException: The JSON value could not be converted to System.Boolean. Path: $.status | LineNumber: 0 | BytePositionInLine: 93.
---> System.InvalidOperationException: Cannot get the value of a token type 'Number' as a boolean.
at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ExpectedBoolean(JsonTokenType tokenType)
at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
--- End of inner exception stack trace ---
at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1.ContinueDeserialize(ReadBufferState& bufferState, JsonReaderState& jsonReaderState, ReadStack& readStack)
at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1.DeserializeAsync(Stream utf8Json, CancellationToken cancellationToken)
at BD.WTTS.Services.Implementation.ApiConnection.GetShopUserTokenAsync(CancellationToken cancellationToken)
2024-03-08 09:15:28.4107|Fatal|BD.WTTS.Services.Implementation.ApiConnection|Unauthorized method: POST, requestUri: identity/account/refreshtoken |method=POST, requestUri=identity/account/refreshtoken
2024-03-08 09:15:28.4208|Error|ApiConnectionPH|requestUri: identity/account/refreshtoken, message: 登录凭证失效,请重新登录 |
2024-03-08 09:15:28.4208|Fatal|BD.WTTS.Services.Implementation.ApiConnection|Unauthorized method: GET, requestUri: identity/manage/signout |method=GET, requestUri=identity/manage/signout
2024-03-08 09:15:28.5140|Fatal|BD.WTTS.Services.Implementation.ApiConnection|Unauthorized method: GET, requestUri: identity/manage/signout |method=GET, requestUri=identity/manage/signout
2024-03-08 09:15:28.5140|Error|ApiConnectionPH|requestUri: identity/manage/signout, message: 服务端错误 1011 - 登录凭证失效,请重新登录 |
### 🚑 其他信息
Windows 11 专业版 23H2 22631.3155
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing BD.WTTS.Services.Implementation.ApiConnection.GetShopUserTokenAsync and the /identity/loginshop/token response shown in the log. Check why $.status is received as a number while deserialization expects Boolean, then verify that QQ binding completes without the token refresh and sign-out failures described in the report.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- authentication, backend-api-design
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100