У меня есть вся информация для внешнего провайдера и я получаю ее как параметр в методе ниже,
[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