in Source/WebApp-Service-Provider-DotNet/Controllers/ManageController.cs [198:222]
public async Task<ActionResult> LinkLoginCallback()
{
var user = await GetCurrentUserAsync();
if (user == null)
{
return View("Error");
}
var info = await _signInManager.GetExternalLoginInfoAsync(await _userManager.GetUserIdAsync(user));
if (info == null)
{
return RedirectToAction(nameof(ManageLogins), new { Message = ManageMessageId.Error });
}
var result = await _userManager.AddLoginAsync(user, info);
ManageMessageId message;
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, info.AuthenticationProperties, info.LoginProvider);
message = ManageMessageId.AddLoginSuccess;
}
else
{
message = ManageMessageId.Error;
}
return RedirectToAction(nameof(ManageLogins), new { Message = message });
}