Обновите / замените ClaimsIdentity из службы проверки подлинности службы приложений Azure (Easy Auth) - PullRequest
0 голосов
/ 26 августа 2018

У меня есть приложение ASP.Net MVC, размещенное в Azure с Аутентификация службы приложений Azure (Easy Auth), успешно аутентифицирующая пользователей против 4 провайдеров.

Цель состоит в том, чтобы соответствовать созданному ClaimsPrincipalслужбой приложений против пользователей в базе данных, чтобы им могли назначаться дополнительные роли и т. д.

Однако я не могу обновить ClaimsPrincipal с измененными / новыми утверждениями.Никаких ошибок не возникает, ClaimsPrincipal просто не изменяется для последующих запросов.

Я пробовал следующее:

    var principal = ClaimsPrincipal.Current;
    var context = HttpContext.Current;

    var existingClaim = identity.FindFirst(claimKey);
    if (existingClaim != null)
        identity.RemoveClaim(existingClaim);

    identity.AddClaim(new Claim(claimKey, claimValue));
    var updatedPrincipal = new ClaimsPrincipal(identity);

    var authenticationManager = context.GetOwinContext().Authentication;
    authenticationManager.AuthenticationResponseGrant = new AuthenticationResponseGrant(updatedPrincipal, new AuthenticationProperties() { IsPersistent = true });
    authenticationManager.SignOut(identity.AuthenticationType);
    authenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = true }, identity);
    context.User = updatedPrincipal;
    Thread.CurrentPrincipal = updatedPrincipal;

Как я могу изменить App App ClaimsPrincipal для добавления новых заявок?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...