【发布时间】:2019-11-27 22:22:16
【问题描述】:
我目前正在尝试构建一个单点登录服务器供几个客户端使用。因为我不完全知道会有多少客户端,所以我计划制作它,以便我可以在运行时使用 EntityFramework 配置存储添加客户端。
我现在的问题是如何设置客户端密码。我尝试生成一个新的 GUID 并将其用作秘密。现在的问题是,配置存储只想保存密钥的散列版本,我需要访问普通密钥才能将其添加到实际的客户端应用程序中。
我认为这是故意的,并且不鼓励保存秘密的普通版本?保存机密的首选解决方案是什么?
【问题讨论】:
-
您不应该以明文形式保存秘密。为什么要访问纯文本密码?
-
我想自动生成它们,然后我需要在某个地方读取它们,以便我可以将它们实际添加到我的应用程序中。这将与 Facebook oauth2 等工作流程相同。您转到开发人员页面,创建一个应用程序(此处为客户端),然后可以读取密钥并将其添加到您的应用程序中。为此,我需要将它们存放在某个地方?
-
这些是您自己的应用程序吗?
-
大部分是,但不一定。我想我只会在生成秘密时将秘密提供给用户一次,而不是存储它们。这应该是访问它们的一种保存方式
-
这其实是个好主意。如果您的客户丢失了他们的秘密,您也可以随时生成一个新秘密。
标签: .net entity-framework identityserver4