我已经使用了一个讨论Docker图像来运行讨论,并使用了以下openid-connect插件,以便用户可以通过我们使用IdentityServer4的web应用程序注册/登录到我们的论坛
如果我不需要客户端机密,我可以让它工作,但当我将其设置为要求客户端机密时,授权失败。
插件设置
我在插件中添加了客户端密码,就像您在图像中看到的设置一样,然后将密码以纯文本形式添加到数据库中的相关单元格中。
我假设它在不需要秘密的情况下工作,但是当我需要它的时候却失败了,因为话语插件将以某种方式处理秘密,比如sha256等,这就是它失败的原因,因为我以纯文本存储了密码,它与话语给出的处理后的秘密不匹配。
有没有人知道我需要经过什么过程才能将我的秘密正确地存储在数据库中,从而使身份验证成功?或者我的问题可能是别的什么?
感谢任何帮助
发布于 2020-07-25 00:58:01
IdentityServer上的默认密钥类型为shared secret。要定义共享密钥,可以使用Sha256 extension method。像下面的代码一样为你的秘密运行一些东西,并将结果保存在数据库中
"secret".Sha256()阅读有关secrets here的更多信息
https://stackoverflow.com/questions/63074395
复制相似问题