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