Приложение перенаправляет в аккаунт / AccessDenied при добавлении Oauth

Я столкнулся с проблемой, когда приложение непостоянно перенаправляет пользователя наAccount/AccessDenied/ после добавления аутентификации в социальных сетях к текущему зарегистрированному пользователю. Кажется, он работает при первом входе пользователя в систему, затем при попытке добавить другой метод аутентификации он возвращает пользователяAccount/AccessDenied?ReturnUrl=%2Fmanage%2Flinklogincallback.

Я предполагаю, что что-то идет не так с атрибутом [Authorize], но только во второй раз я пытаюсь добавить метод внешней аутентификации.

ManageController

[Authorize]
public class ManageController : Controller
{
    //
    // POST: /Manage/LinkLogin
    [HttpPost]
    [ValidateAntiForgeryToken]
    public IActionResult LinkLogin(string provider)
    {
        // Request a redirect to the external login provider to link a login for the current user
        var redirectUrl = Url.Action("LinkLoginCallback", "Manage");
        var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl, _userManager.GetUserId(User));
        return Challenge(properties, provider);
    }

    //
    // GET: /Manage/LinkLoginCallback
    [HttpGet]
    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);
        var message = result.Succeeded ? ManageMessageId.AddLoginSuccess : ManageMessageId.Error;
        return RedirectToAction(nameof(ManageLogins), new { Message = message });
    }
}

Может ли это быть порядок того, как устроен startup.cs?

Это запрос / ответ

Ответы на вопрос(5)

Ваш ответ на вопрос