Не удается связать внешний логин - защищенный билет - PullRequest
0 голосов
/ 20 сентября 2018

Я построил решение на основе Identity Server 4 для клиента, и почти все прекрасно работает :) Однако у меня есть одна проблема, которая не согласована;иногда это работает, а иногда это не удается.Это когда пользователь вошел в систему, заходит на страницу настроек, а затем пытается связать внешний аккаунт (например, Facebook или Google) с учетной записью.

Контроллер вызывается, и следующий код выполняется без проблем:

public async Task<IActionResult> LinkLogin(string provider, string cancelUrl = null)
    {
        // Clear the existing external cookie to ensure a clean login process
        await this.HttpContext.SignOutAsync(IdentityConstants.ExternalScheme);

        // Request a redirect to the external login provider to link a login for the current user
        var redirectUrl = this.Url.Action(nameof(this.LinkLoginCallback));

        var properties = this.signInManager.ConfigureExternalAuthenticationProperties(
            provider,
            redirectUrl,
            this.userManager.GetUserId(this.User));
        return new ChallengeResult(provider, properties);
    }

Но обратный вызов не всегда вызывается, и когда он терпит неудачу, я получаю следующую ошибку в журналах:

Identity.Application не был аутентифицирован.Сообщение об ошибке: сбой снятия защиты с билета

1 Ответ

0 голосов
/ 23 сентября 2018

У вас есть более одного сервера в игре?Если это так, то им необходимо использовать одни и те же ключи защиты данных и, следовательно, иметь общее хранилище защиты данных.

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