Я пытаюсь добавить Spotify в качестве источника аутентификации для стороннего проекта, над которым я работаю, и у меня возникают проблемы, связанные с токенами аутентификации.
Когда пользователь впервые проходит аутентификацию и пользователь создается в База данных Я могу получить доступ к токену в контроллере, используя
var accessToken = HttpContext.GetTokenAsync("Spotify", "access_token").Result;
, и все в порядке.
Но если вы выйдете из системы, а затем снова войдете в систему, то вышеупомянутый вызов в контроллере будет нулевым.
Нужно ли вручную устанавливать токен где-нибудь после входа в систему? Ниже приведены мои варианты авторизации
services.AddAuthentication()
.AddSpotify(options => {
options.ClientId = "CLIENT_ID";
options.ClientSecret = "CLIENT_SECRET";
options.CallbackPath = "/callback";
options.SaveTokens = true;
options.Events.OnCreatingTicket = ctx =>
{
List<AuthenticationToken> tokens = ctx.Properties.GetTokens().ToList();
tokens.Add(new AuthenticationToken()
{
Name = "TicketCreated",
Value = DateTime.UtcNow.ToString()
});
ctx.Properties.StoreTokens(tokens);
return Task.CompletedTask;
};
}); // end of spotify options