#asp.net-core #oauth-2.0 #openid-connect
#asp.net-core #oauth-2.0 #OpenID-connect
Вопрос:
OIDC требуется конечная точка авторизации. Тем не менее, AddOpenIDConnect не имеет опции AuthorizationEndpoint, которая есть у AddOAuth.
Ответ №1:
Обработчик соединения OpenID обычно использует специальную конечную точку «обнаружения» для поиска конечной точки авторизации (среди прочего). Он принимает ваши полномочия и добавляет к нему «/.well-known/OpenID-configuration», чтобы получить метаданные.
Оттуда он получает authorization_endpoint
из JSON.
Например, установка полномочий https://login.microsoftonline.com/common/v2.0
(Azure AD) приведет к извлечению метаданных из https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration .
{
"authorization_endpoint":"https://login.microsoftonline.com/common/oauth2/v2.0/authorize"
}
Обратите внимание, что это то, что обработчик делает по умолчанию с минимальной конфигурацией.
Вы можете установить MetadataAddress
вместо Authority
того, чтобы устанавливать URL конечной точки обнаружения вручную.
Если вы вообще не хотите использовать конечную точку обнаружения,
вы можете указать Configuration
свойство вручную:
o.Configuration = new Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfiguration
{
// Other properties omitted
AuthorizationEndpoint = ""
};