🔊 Add more logs on afdian oidc
This commit is contained in:
parent
be0b48cfd9
commit
694bc77921
@ -9,7 +9,8 @@ public class AfdianOidcService(
|
|||||||
IHttpClientFactory httpClientFactory,
|
IHttpClientFactory httpClientFactory,
|
||||||
AppDatabase db,
|
AppDatabase db,
|
||||||
AuthService auth,
|
AuthService auth,
|
||||||
ICacheService cache
|
ICacheService cache,
|
||||||
|
ILogger<AfdianOidcService> logger
|
||||||
)
|
)
|
||||||
: OidcService(configuration, httpClientFactory, db, auth, cache)
|
: OidcService(configuration, httpClientFactory, db, auth, cache)
|
||||||
{
|
{
|
||||||
@ -88,6 +89,8 @@ public class AfdianOidcService(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async Task<OidcUserInfo> GetUserInfoAsync(string accessToken)
|
private async Task<OidcUserInfo> GetUserInfoAsync(string accessToken)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var config = GetProviderConfig();
|
var config = GetProviderConfig();
|
||||||
var content = new FormUrlEncodedContent(new Dictionary<string, string>
|
var content = new FormUrlEncodedContent(new Dictionary<string, string>
|
||||||
@ -107,10 +110,11 @@ public class AfdianOidcService(
|
|||||||
response.EnsureSuccessStatusCode();
|
response.EnsureSuccessStatusCode();
|
||||||
|
|
||||||
var json = await response.Content.ReadAsStringAsync();
|
var json = await response.Content.ReadAsStringAsync();
|
||||||
|
logger.LogInformation("Trying get userinfo from afdian, response: {Response}", json);
|
||||||
var afdianResponse = JsonDocument.Parse(json).RootElement;
|
var afdianResponse = JsonDocument.Parse(json).RootElement;
|
||||||
|
|
||||||
var user = afdianResponse.GetProperty("data");
|
var user = afdianResponse.TryGetProperty("data", out var dataElement) ? dataElement : default;
|
||||||
var userId = user.GetProperty("user_id").GetString() ?? "";
|
var userId = user.TryGetProperty("user_id", out var userIdElement) ? userIdElement.GetString() ?? "" : "";
|
||||||
var avatar = user.TryGetProperty("avatar", out var avatarElement) ? avatarElement.GetString() : null;
|
var avatar = user.TryGetProperty("avatar", out var avatarElement) ? avatarElement.GetString() : null;
|
||||||
|
|
||||||
return new OidcUserInfo
|
return new OidcUserInfo
|
||||||
@ -123,4 +127,11 @@ public class AfdianOidcService(
|
|||||||
Provider = ProviderName
|
Provider = ProviderName
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Due to afidan's API isn't compliant with OAuth2, we want more logs from it to investigate.
|
||||||
|
logger.LogError(ex, "Failed to get user info from Afdian");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user