2017-05-08 134 views
0

我有一个MVC5应用程序,它通过创建可供其他MVC应用程序读取的cookie在门户上充当单点登录。这工作正常,因为我已经对齐了机器密钥并设置了Cookie域。如何在.NET Core中存储机器密钥以加密/解密auth cookie

我现在需要添加一个.NET Core应用程序,它需要能够读取auth cookie。

我知道机器密钥不再存储在.NET Core应用程序的Web配置中,而是存储在文件系统的目录中。

我按照微软的教程介绍了如何做到这一点,但似乎没有解释密钥应该如何存储。

是否有人知道如何实际存储机器密钥值,以便DataProtectionProvider可以访问它?

感谢

+0

请查阅[文档](https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview) – Tseng

+0

@Tseng感谢您的回答,但我已经看过该文档并找不到关于如何存储机器密钥值的任何内容。我是否将这些值复制到一个文本文件中并给它一个.txt扩展名?目前还不清楚,除非我忽略了一些东西。 –

回答

1

所以我的错觉,以为你自己添加的密钥文件传递给DataProtectionProvider.Create的文件系统位置下。

事实证明,当我们使用时,cookie加密密钥被应用程序自动放置在该目录中。所以我通过将两个应用程序指向相同的位置(可能稍微摆弄一下)猜测,然后他们应该能够共享auth cookie。