代码之家  ›  专栏  ›  技术社区  ›  Brian Ogden

持久化RefreshToken OnAuthenticated-ServiceStack

  •  1
  • Brian Ogden  · 技术社区  · 8 年前

    这个问题与这里的这个问题有关: Revoking Bearer Token and Refresh Token - ServiceStack "

    我想将RefreshToken保存在我的auth API中的我覆盖的OnAuthenticated实现中:

     IHttpResult OnAuthenticated(IServiceBase authService,
                IAuthSession session, IAuthTokens tokens,
                Dictionary<string, string> authInfo)
    

    这似乎是个合适的地方。在初始凭据身份验证请求中, IAuthTokens tokens 为null,authService。要求GetBearerToken返回null。

    是否有什么可以访问客户端将接收并保存的刷新令牌?

    1 回复  |  直到 6 年前
        1
  •  2
  •   mythz    8 年前

    这个 Session Cookies key used to save the session against .

    但JWT的重点是 没有服务器会话状态 因为它被封装在JWT承载令牌中。所以我不理解这种维护服务器状态的方法,这使使用JWT的主要好处无效。

    服务器可以通过注册 Global Response Filter AuthenticateResponse DTO或注册 Typed Response Filter

    public override void Configure(Container container)
    {
        RegisterTypedResponseFilter<AuthenticateResponse>((req, res, dto) =>
        {
            var jwt = dto.BearerToken;
            var refreshToken = dto.RefreshToken;
        });
    }
    
    推荐文章