在IdentityServer4中生成永不过期的Token

Generate Token in IdentityServer4 that never expires

我有一个运行良好的应用程序(ASP.Net Core 2.2,IdentityServer4)。现在我需要在我的应用程序中验证一些设备或应用程序,让他们调用我的 API。

我已阅读这些链接:

IdentityServer4 Access Token Lifetime

Bearer token that never expires

但这些不是我需要的。

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

也许你可以使用Reference Tokens,不要被Refresh Tokens弄错了

来自文档:

When using reference tokens - IdentityServer will store the contents of the token in a data store and will only issue a unique identifier for this token back to the client. The API receiving this reference must then open a back-channel communication to IdentityServer to validate the token.

所以参考仅供参考。它不包含有关安全或过期的信息。引用的信息存储在数据存储中,并且只能由接收引用令牌的资源使用反向通道通信访问。该引用在从数据存储中删除(令牌被撤销)之前一直有效。

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

client.AccessTokenType = AccessTokenType.Reference;

文档还提到了 api 的秘密。