public async Task <ActionResult> ExternalLoginCreateNewUser(string resumeUrl, [FromForm] NewUserViewModel viewModel) { var externalLogin = await HttpContext.Authentication.GetAuthenticateInfoAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme); var claims = GetClaims(externalLogin); var userId = GetUserId(claims); var scheme = GetScheme(externalLogin); var user = _userStore.AutoProvisionUser(scheme, userId, claims); user.Username = viewModel.UserName; await HttpContext.Authentication.SignOutAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme); await HttpContext.Authentication.SignInAsync(user.SubjectId, user.Username, scheme, claims.ToArray()); return(Redirect(resumeUrl)); }
public async Task <ActionResult> ExternalLoginCreateNewUser(string resumeUrl, [FromForm] NewUserViewModel viewModel) { var externalLogin = await HttpContext.AuthenticateAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme); var claims = GetClaims(externalLogin); var userId = GetUserId(claims); var scheme = GetScheme(externalLogin); var user = _userStore.AutoProvisionUser(scheme, userId, claims); user.Username = viewModel.UserName; await HttpContext.SignOutAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme); var isuser = new IdentityServerUser(user.SubjectId) { DisplayName = user.Username, IdentityProvider = scheme, AdditionalClaims = claims }; await HttpContext.SignInAsync(isuser); return(Redirect(resumeUrl)); }