我有一个运行良好的应用程序(ASP.Net Core 2.2,IdentityServer4)。现在,我需要对应用程序中的某些设备或应用程序进行身份验证,以使它们调用我的API。
我已阅读以下链接:
IdentityServer4 Access Token Lifetime
Bearer token that never expires
但是这些不是我所需要的。
我需要进行某种永不过期的身份验证,而我只是手动将其过期。什么是正确的解决方案?任何想法将不胜感激。
答案 0 :(得分:0)
也许您可以使用Reference Tokens,不要被刷新令牌所误。
从文档中:
使用参考令牌时-IdentityServer将存储内容 数据存储区中令牌的数量,并且只会发出唯一的标识符 将此令牌返回给客户端。收到此参考的API 然后必须打开与IdentityServer的反向通道通信以 验证令牌。
因此参考只是参考。它不包含有关安全性或有效期的信息。参考信息存储在数据存储中,并且只能使用反向通道通信由接收参考令牌的资源访问。该引用将保持有效,直到将其从数据存储中删除(令牌已撤销)。
为了完成这项工作,您应该在客户端和api中使用AddIdentityServerAuthentication来处理和验证参考令牌。您可以将客户端配置为使用参考令牌,如下所示(如所记录):
client.AccessTokenType = AccessTokenType.Reference;
文档中还提到了api的秘密。