在IdentityServer4中生成永不过期的令牌

时间:2019-09-05 14:24:28

标签: authentication identityserver4 restful-authentication jwt-auth

我有一个运行良好的应用程序(ASP.Net Core 2.2,IdentityServer4)。现在,我需要对应用程序中的某些设备或应用程序进行身份验证,以使它们调用我的API。

我已阅读以下链接:

IdentityServer4 Access Token Lifetime

Bearer token that never expires

但是这些不是我所需要的。

我需要进行某种永不过期的身份验证,而我只是手动将其过期。什么是正确的解决方案?任何想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

也许您可以使用Reference Tokens,不要被刷新令牌所误。

从文档中:

  

使用参考令牌时-IdentityServer将存储内容   数据存储区中令牌的数量,并且只会发出唯一的标识符   将此令牌返回给客户端。收到此参考的API   然后必须打开与IdentityServer的反向通道通信以   验证令牌。

因此参考只是参考。它不包含有关安全性或有效期的信息。参考信息存储在数据存储中,并且只能使用反向通道通信由接收参考令牌的资源访问。该引用将保持有效,直到将其从数据存储中删除(令牌已撤销)。

为了完成这项工作,您应该在客户端和api中使用AddIdentityServerAuthentication来处理和验证参考令牌。您可以将客户端配置为使用参考令牌,如下所示(如所记录):

client.AccessTokenType = AccessTokenType.Reference;

文档中还提到了api的秘密。