访问令牌过期时使用刷新令牌

时间:2018-11-04 00:00:11

标签: c# oauth-2.0 .net-core authorization coinbase-api

我在.Net-Core 2.1中使用OAuth登录到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 :(得分:1)

这没有任何意义,因为客户端负责发送有效令牌以期望请求得到授权。当客户端通常发送令牌时,它们通常在标头中发送令牌。该标头仅包含一个访问令牌,而不包含刷新令牌。取而代之的是,刷新令牌在客户端保留,并用于获取有效的访问令牌。然后,它可以提出不同的请求并期望得到不同的结果。流程很重要。