本文介绍了钥匙环里找不到钥匙。无法验证令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序前面添加了NGNIX代理后,我在标识服务器4上收到奇怪的错误。

  1. 我的.Net核心身份服务器在端口8080上的Docker Container上运行

  2. Ngnix代理(使用https://github.com/nginx-proxy/nginx-proxy)配置为将443路由到停靠容器8080

在回调终结点上成功进行身份验证后,无法验证伪造令牌。

奇怪的是,当.Net核心应用程序启动时,我播种的整个场景对用户有效。但通过我的API创建新的失败。

任何想法或教导都值得赞赏。

推荐答案

由ASP.NET核心发布的会话Cookie使用数据保护API进行加密。

用于签署Cookie的密钥存储在密钥环中。如果您现在重新部署应用程序,并且没有正确配置它,则将在新密钥环中颁发新的加密密钥。

如果找不到用于加密Cookie的密钥,则这意味着无法再解密所有客户端浏览器中的现有会话Cookie。

请参阅article关于该接口的介绍和article如何配置该接口的介绍。

这既适用于您的身份服务器应用程序,也适用于您的客户端应用程序,因为两者都使用数据保护API,因此两者都需要有一个永久的密钥环。当您重新部署容器时,密钥环将丢失,除非您已将密钥环放置在文件系统上的某个永久卷中或以其他方式将其持久化。该接口支持多种位置存储密钥环,包括数据库、Redis、Azure密钥库..

这篇关于钥匙环里找不到钥匙。无法验证令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-24 17:09