public async Task LinkLoginCallback()

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 });
        }