🐛 Fix afdian oauth

This commit is contained in:
LittleSheep 2025-06-22 22:02:14 +08:00
parent c5ef9b065b
commit a23338c263

View File

@ -101,20 +101,22 @@ public class AfdianOidcService(
var client = HttpClientFactory.CreateClient(); var client = HttpClientFactory.CreateClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://afdian.com/api/oauth2/access_token"); var request = new HttpRequestMessage(HttpMethod.Post, "https://afdian.com/api/oauth2/access_token");
request.Content = content;
var response = await client.SendAsync(request); var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync(); var json = await response.Content.ReadAsStringAsync();
var afdianUser = JsonDocument.Parse(json).RootElement; var afdianResponse = JsonDocument.Parse(json).RootElement;
var userId = afdianUser.GetProperty("user_id").GetString() ?? ""; var user = afdianResponse.GetProperty("data");
var avatar = afdianUser.TryGetProperty("avatar", out var avatarElement) ? avatarElement.GetString() : null; var userId = user.GetProperty("user_id").GetString() ?? "";
var avatar = user.TryGetProperty("avatar", out var avatarElement) ? avatarElement.GetString() : null;
return new OidcUserInfo return new OidcUserInfo
{ {
UserId = userId, UserId = userId,
DisplayName = (afdianUser.TryGetProperty("name", out var nameElement) DisplayName = (user.TryGetProperty("name", out var nameElement)
? nameElement.GetString() ? nameElement.GetString()
: null) ?? "", : null) ?? "",
ProfilePictureUrl = avatar, ProfilePictureUrl = avatar,