Nancy.Authentication.Token-令牌以奇怪的间隔过期

本文关键字:过期 Authentication Token- 令牌 Nancy | 更新日期: 2023-09-27 18:27:44

我对Nancy.Authentication.Token.有一个奇怪的问题(或者只需要更好地理解它;-)

我当前的应用程序要求令牌的有效期为30天。我的引导程序中有这个:

    protected override void ConfigureApplicationContainer(TinyIoCContainer container)
    {
        base.ConfigureApplicationContainer(container);
        container.Register<ITokenizer>(new Tokenizer(cfg => cfg.KeyExpiration(() => TimeSpan.FromDays(60)).TokenExpiration(() => TimeSpan.FromDays(30))));
    }
    protected override void RequestStartup(TinyIoCContainer container, IPipelines pipelines, NancyContext context)
    {
        base.RequestStartup(container, pipelines, context);
        TokenAuthentication.Enable(pipelines, new TokenAuthenticationConfiguration(container.Resolve<ITokenizer>()));
    }

然而,在几乎随机的时间间隔内,令牌身份验证失败,用户需要再次登录并分配新的令牌。有时是在4天后,有时是在10天后,但从未有代币持续了整整30天。

你对这个问题有经验吗?我尝试了几种不同的方式来配置ITokenizer,但似乎没有什么能永久工作。

Nancy.Authentication.Token-令牌以奇怪的间隔过期

这是我的第一篇文章,所以希望我能遵守规则。

我刚开始使用NancyFx,并开始自己实现令牌身份验证。我正在复习源代码以了解它的工作原理,在我的研究中也看到了你的帖子。

据我所知,默认的Tokenizer在创建时将您的用户代理加密到令牌中。因此,如果您的用户代理发生更改,则令牌将变为无效。将对Context中的当前用户代理与令牌存储的用户代理进行比较。

我想调查一下你的用户代理可能会改变的可能性。