簡體   English   中英

為 discourse-openid-connect 正確地將客戶端機密存儲在數據庫中

[英]Correctly store Client Secrets in database for discourse-openid-connect

我使用了 Discourse Docker 圖像來運行 Discourse,並使用了以下openid-connect插件,以便用戶可以通過使用 IdentityServer4 的 web 應用程序注冊/登錄我們的論壇

如果我不需要客戶端機密,我可以讓它工作,但是當我將它設置為需要客戶端機密時,授權失敗。

[插件設置][1]

我在插件中添加了客戶端密碼,您可以在圖像中看到設置,然后將純文本密碼添加到數據庫中的相關單元格中。

我假設它不需要秘密就可以工作,但是當我需要它時會失敗,這是因為 Discourse 插件將以某種方式處理秘密,比如 sha256 等,這就是它失敗的原因,因為我已經以明文形式存儲了密碼-文本及其與 Discourse 給出的已處理秘密不匹配。

有誰知道我需要什么過程才能將我的秘密正確存儲在數據庫中,以便身份驗證成功? 還是我的問題可能是別的?

感謝任何幫助

默認類型的秘密是 IdentityServer 上的共享秘密 要定義共享密鑰,您可以使用Sha256 擴展方法 像下面的代碼一樣運行你的秘密並將結果保存在數據庫中

"secret".Sha256()

在此處閱讀有關秘密的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM