У нас есть мультитенантное приложение AD, которое мы используем для входа пользователей в наше приложение с использованием OpenID Connect. Недавно мы перешли на конечную точку полномочий версии 2.0, после чего мы столкнулись с проблемой, в которой в запросе на согласие, отображаемом в процессе входа в систему, отображаются не все разрешения, настроенные в разделе «Разрешения» приложения. Это не похоже на поведение конечной точки полномочий v1.0, которая показывала приглашение для всех установленных разрешений. Ниже приведен фрагмент кода из нашего файла Startup.cs -
.AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
options.CallbackPath = new PathString("/callback/");
options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.SaveTokens = true;
options.ClientId = <clientId>;
options.Authority = "https://login.microsoftonline.com/common/v2.0/";
options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = <valid-issuer>,
IssuerValidator = MultiTenantIssuerValidator.Validate,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidAudience = <client-id>,
NameClaimType = "preferred_username"
};
URI перенаправления с конечной точкой версии 2.0 - https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=&redirect_uri=&response_type=code id_token & scope = профиль openid & response_mode = form_post
Перенаправление Uri с конечной точкой v1.0 - https://login.microsoftonline.com/common/oauth2/authorize?client_id=&redirect_uri=&response_type=code id_token & scope = профиль openid & response_mode = form_post
Я попытался go с помощью документации для конечной точки v2 и не нашел ни одного раздела, объясняющего это изменение поведения.
Должны ли мы явно устанавливать все необходимые области в OpenIdConnectOptions?