我使用隐式流程'将Open Id Connect作为依赖方实施。我们使用基于HS256 MAC的算法进行签名。
作为此实现的一部分,我们需要生成与双方共享的共享密钥或密钥。
将此共享密钥存储在我们的数据库中而不进行散列是否安全?通常我们会对密码或API密钥进行散列和加密,但似乎是使用了隐式流程'在Open Id Connect中指定,秘密永远不会通过网络发送,因此我们需要始终能够再次检索它。
此方案中的最佳做法是什么?
答案 0 :(得分:0)
据我了解,如果您已实施Implicit Flow,则表示您使用的是公共客户端。
在Open ID Connect规范中you can read in 10.1:公共(非机密)客户端不得使用对称签名,因为它们无法保密。
在这种情况下,您必须使用使用不对称密钥(RSA或EDCSA)的签名算法。