用Forms Identity替换声明标识

时间:2018-04-10 07:23:17

标签: azure-active-directory forms-authentication claims-based-identity

我正在为应用程序使用AAD身份验证,但这是暂时的,直到我的用户进行身份验证并在我的应用程序出现后重定向回我的应用程序

this.User.Identity  as ClaimsIdentity

但是一旦用户回来我不想要声明身份我想要更改/用Forms Identity替换此声明身份。

我尝试设置表单身份验证Cookie,但是当用户重定向并返回时,身份仍然是声明,只是它没有更改表单身份。

尝试使用过期日期对身份声明身份进行身份验证,但Cookie仍在流动,我正在获得声明身份。

var virtualUserClaims = context.User.Identity as System.Security.Claims.ClaimsIdentity;
                        virtualUserClaims.RemoveClaim(virtualUserClaims.FindFirst(System.IdentityModel.Claims.ClaimTypes.Name));
                        virtualUserClaims.AddClaim(new Claim(System.IdentityModel.Claims.ClaimTypes.Name, firstFullUsernameToAuthenticatedAgainst));
                        var authenticationManager = System.Web.HttpContext.Current.GetOwinContext().Authentication;
                        authenticationManager.AuthenticationResponseGrant =
                        new AuthenticationResponseGrant(new ClaimsPrincipal(virtualUserClaims), new AuthenticationProperties() { IsPersistent = true , ExpiresUtc = DateTime.UtcNow.AddDays(-1) });

在此代码之后,我正在设置表单身份验证cookie

FormsAuthentication.SetAuthCookie(firstFullUsernameToAuthenticatedAgainst, false);

任何人都可以告诉我如何删除声明身份

0 个答案:

没有答案