Используйте маркер обновления, когда маркер доступа истек - PullRequest
0 голосов
/ 04 ноября 2018

Я использую OAuth в .Net-Core 2.1 для входа в Coinbase, я настроил свою аутентификацию так:

services.AddAuthentication(COOKIE_AUTH)
    .AddCookie(options => options.ExpireTimeSpan = TimeSpan.FromMinutes(60))
    .AddCoinbase(options => {
        options.SendLimitAmount = 1;
        options.SendLimitCurrency = "USD";
        options.SendLimitPeriod = SendLimitPeriod.day;
        options.ClientId = Configuration["Coinbase:ClientId"];
        options.ClientSecret = Configuration["Coinbase:ClientSecret"];
        COINBASE_SCOPES.ForEach(scope => options.Scope.Add(scope));
        options.SaveTokens = true;
        options.ClaimActions.MapJsonKey("urn:coinbase:avatar", "avatar_url");
    });

Используя Почтальон, я вижу, что получаю токен доступа и токен обновления. Срок действия моего токена истекает через два часа и никогда не обновляется.

Я знаю, что могу обновить токен вручную, но я ожидал, что он будет встроен в .net, где

Есть ли способ обновить мой токен, встроенный в .net?

1 Ответ

0 голосов
/ 08 ноября 2018

Это не имеет смысла, так как клиент отвечает за отправку действительного токена, чтобы ожидать, что запрос будет авторизован. Когда клиенты обычно отправляют токены, они обычно делают это в заголовке. Этот заголовок содержит только один токен доступа, а не токен обновления. Вместо этого токен обновления сохраняется на клиенте и используется для получения токена доступа, который действителен. Тогда он может сделать другой запрос и ожидать другого результата. Поток важен.

...