代码之家  ›  专栏  ›  技术社区  ›  johnny 5

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

  •  0
  • johnny 5  · 技术社区  · 7 年前

    我在.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");
        });
    

    使用postman我看到我得到了一个访问令牌和一个刷新令牌。我的代币两小时内到期,永不刷新。

    我知道我可以手动刷新令牌,但我希望在.NET中构建一些

    有没有办法刷新.net中内置的令牌?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Judy007    7 年前

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