должен читаться email из токена
This commit is contained in:
@@ -58,6 +58,14 @@ public static class AuthSetup
|
||||
{
|
||||
options.Authority = $"https://login.microsoftonline.com/{tenantId}/v2.0";
|
||||
options.TokenValidationParameters = validationParameters();
|
||||
// Без этого JwtBearerHandler переименовывает короткие имена claim'ов
|
||||
// из токена в длинные ClaimTypes-URI (upn → ClaimTypes.Upn,
|
||||
// unique_name → ClaimTypes.Name — а НЕ ClaimTypes.Email!) ещё до
|
||||
// того, как код увидит ClaimsPrincipal. CurrentUserAccessor ищет
|
||||
// ровно сырые имена ("upn", "unique_name") — с ремаппингом они не
|
||||
// совпадали ни с чем, и email инициатора не находился вообще
|
||||
// (не только у токенов без claim'а email, как этот — у ЛЮБЫХ).
|
||||
options.MapInboundClaims = false;
|
||||
});
|
||||
|
||||
services.AddAuthentication()
|
||||
@@ -65,6 +73,7 @@ public static class AuthSetup
|
||||
{
|
||||
options.Authority = $"https://login.microsoftonline.com/{tenantId}/v2.0";
|
||||
options.TokenValidationParameters = validationParameters();
|
||||
options.MapInboundClaims = false;
|
||||
options.Events = new JwtBearerEvents
|
||||
{
|
||||
// Подпись, издатель и аудитория у app-only токена те же, что у
|
||||
|
||||
Reference in New Issue
Block a user