Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }