🐛 Fix discord oidc since it has no discovery endpoint
This commit is contained in:
parent
ca2d37eb39
commit
e40514e440
@ -33,6 +33,17 @@ public class DiscordOidcService(
|
|||||||
return $"https://discord.com/api/oauth2/authorize?{queryString}";
|
return $"https://discord.com/api/oauth2/authorize?{queryString}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override async Task<OidcDiscoveryDocument?> GetDiscoveryDocumentAsync()
|
||||||
|
{
|
||||||
|
return new OidcDiscoveryDocument
|
||||||
|
{
|
||||||
|
AuthorizationEndpoint = "https://discord.com/oauth2/authorize",
|
||||||
|
TokenEndpoint = "https://discord.com/api/oauth2/token",
|
||||||
|
UserinfoEndpoint = "https://discord.com/api/users/@me",
|
||||||
|
JwksUri = null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public override async Task<OidcUserInfo> ProcessCallbackAsync(OidcCallbackData callbackData)
|
public override async Task<OidcUserInfo> ProcessCallbackAsync(OidcCallbackData callbackData)
|
||||||
{
|
{
|
||||||
var tokenResponse = await ExchangeCodeForTokensAsync(callbackData.Code);
|
var tokenResponse = await ExchangeCodeForTokensAsync(callbackData.Code);
|
||||||
|
@ -65,7 +65,7 @@ public abstract class OidcService(
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves the OpenID Connect discovery document
|
/// Retrieves the OpenID Connect discovery document
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected async Task<OidcDiscoveryDocument?> GetDiscoveryDocumentAsync()
|
protected virtual async Task<OidcDiscoveryDocument?> GetDiscoveryDocumentAsync()
|
||||||
{
|
{
|
||||||
// Construct a cache key unique to the current provider:
|
// Construct a cache key unique to the current provider:
|
||||||
var cacheKey = $"oidc-discovery:{ProviderName}";
|
var cacheKey = $"oidc-discovery:{ProviderName}";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user