У меня есть большая часть пользовательской информации внешнего поставщика, включая Access_Token, provider, Email et c. Как сделать регистрацию внешнего входа - PullRequest
0 голосов
/ 07 мая 2020

У меня есть вся информация для внешнего провайдера и я получаю ее как параметр в методе ниже,

[HttpPost]
    public async Task<IActionResult> Login(LoginInfo loginInfo) {

 code here

    }

Определение типа входа, как показано ниже,

public class LoginInfo
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string ImageUrl { get; set; }
    public string Email { get; set; }
    public TokenInfo Token { get; set; }

    public class TokenInfo
    {
        public string AccessToken { get; set; }
        public string Id_Token { get; set; }
        public string Provider { get; set; }
        public string Token_Type { get; set; }

    }
}

Теперь я хочу использовать стандартный код (как указано ниже) для регистрации пользователя и, следовательно, механизма входа в систему

var info = await signInManager.GetExternalLoginInfoAsync();
            if (info == null)
            {
                return View("ExternalLoginFailure");
            }
            var user = new ApplicationUser() { UserName = model.UserName };
            var result = await UserManager.CreateAsync(user);
            if (result.Succeeded)
            {
                result = await UserManager.AddLoginAsync(user.Id, info.Login);
                if (result.Succeeded)
                {
                    await SignInAsync(user, isPersistent: false);
                    return RedirectToLocal(returnUrl);
                }
            }

Я хочу создать объект info из информации, предоставленной клиентом через LoginInfo

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