🐛 Fix discord oidc

This commit is contained in:
2025-08-03 13:10:15 +08:00
parent 189abd4982
commit 192ea0fcdd

View File

@@ -31,7 +31,7 @@ public class DiscordOidcService(
}; };
var queryString = string.Join("&", queryParams.Select(p => $"{p.Key}={Uri.EscapeDataString(p.Value)}")); var queryString = string.Join("&", queryParams.Select(p => $"{p.Key}={Uri.EscapeDataString(p.Value)}"));
return $"https://discord.com/oauth2/authorize?{queryString}"; return $"https://discord.com/api/oauth2/authorize?{queryString}";
} }
protected override Task<OidcDiscoveryDocument?> GetDiscoveryDocumentAsync() protected override Task<OidcDiscoveryDocument?> GetDiscoveryDocumentAsync()
@@ -39,8 +39,8 @@ public class DiscordOidcService(
return Task.FromResult(new OidcDiscoveryDocument return Task.FromResult(new OidcDiscoveryDocument
{ {
AuthorizationEndpoint = "https://discord.com/oauth2/authorize", AuthorizationEndpoint = "https://discord.com/oauth2/authorize",
TokenEndpoint = "https://discord.com/oauth2/token", TokenEndpoint = "https://discord.com/api/oauth2/token",
UserinfoEndpoint = "https://discord.com/users/@me", UserinfoEndpoint = "https://discord.com/api/users/@me",
JwksUri = null JwksUri = null
})!; })!;
} }
@@ -76,7 +76,7 @@ public class DiscordOidcService(
{ "redirect_uri", config.RedirectUri }, { "redirect_uri", config.RedirectUri },
}); });
var response = await client.PostAsync("https://discord.com/oauth2/token", content); var response = await client.PostAsync("https://discord.com/api/oauth2/token", content);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
return await response.Content.ReadFromJsonAsync<OidcTokenResponse>(); return await response.Content.ReadFromJsonAsync<OidcTokenResponse>();
@@ -85,7 +85,7 @@ public class DiscordOidcService(
private async Task<OidcUserInfo> GetUserInfoAsync(string accessToken) private async Task<OidcUserInfo> GetUserInfoAsync(string accessToken)
{ {
var client = HttpClientFactory.CreateClient(); var client = HttpClientFactory.CreateClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://discord.com/users/@me"); var request = new HttpRequestMessage(HttpMethod.Get, "https://discord.com/api/users/@me");
request.Headers.Add("Authorization", $"Bearer {accessToken}"); request.Headers.Add("Authorization", $"Bearer {accessToken}");
var response = await client.SendAsync(request); var response = await client.SendAsync(request);