溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

SpringBootSecurity中OAuth2.0的加密配置是怎樣的

發(fā)布時(shí)間:2021-09-28 09:45:58 來(lái)源:億速云 閱讀:130 作者:柒染 欄目:大數(shù)據(jù)

SpringBootSecurity中OAuth2.0的加密配置是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

示例代碼的改進(jìn)

非常的簡(jiǎn)單,主要目的是用來(lái)熟悉OAuth3.0 申請(qǐng)授權(quán)的整個(gè)流程,這個(gè)簡(jiǎn)單的示例肯定是不能直接用于生產(chǎn)環(huán)境的,還有很多需要改進(jìn)的地方,我們來(lái)總結(jié)一下:

  • 1、只演示了授權(quán)碼的形式,其它的三種(隱藏式,密碼式,客戶(hù)端憑證)并沒(méi)有熟悉

  • 2、密碼和秘鑰是未加密的

  • 3、oauth的客戶(hù)端配置,包括id,秘鑰等信息是在內(nèi)存中配置死的,無(wú)法動(dòng)態(tài)增加

  • 4、token也是放在內(nèi)存中存儲(chǔ)的,無(wú)法手動(dòng)廢止

  • 5、jwt的生成使用的是簡(jiǎn)單的秘鑰形式,最好使用非對(duì)稱(chēng)加密的方式,更加安全可靠

  • 6、令牌的申請(qǐng)權(quán)限配置不太合理

  • 7、資源服務(wù)中的jwt和令牌驗(yàn)證配置也不太靈活

  • 8、授權(quán)流程應(yīng)該結(jié)合eureka開(kāi)發(fā)和使用

  • 9、沒(méi)有驗(yàn)證令牌中繼特性,等等等等

從上面列舉的問(wèn)題可以看出,就算示例代碼能運(yùn)行,流程也清楚,但是要學(xué)會(huì)使用Spring Cloud Security,尤其要在生產(chǎn)環(huán)境使用,還需要對(duì)每個(gè)細(xì)節(jié)都能掌握和了解才行。

加密配置

首先我們來(lái)改進(jìn)第一個(gè)地方,實(shí)現(xiàn)加密配置。大家知道用戶(hù)注冊(cè)之后,存儲(chǔ)用戶(hù)資料的時(shí)候,用戶(hù)密碼在數(shù)據(jù)庫(kù)中最好是加密后再保存,同樣的道理,oauth的客戶(hù)端信息最終也是要存儲(chǔ)在數(shù)據(jù)庫(kù)而不是直接在代碼中配置死的,它的secret字段也應(yīng)該加密后再存儲(chǔ),下面在授權(quán)服務(wù)中來(lái)配置加密,首先修改security配置類(lèi),配置加密方式:

SpringBootSecurity中OAuth2.0的加密配置是怎樣的

然后將登陸用戶(hù)的密碼配置為加密:

SpringBootSecurity中OAuth2.0的加密配置是怎樣的

然后修改授權(quán)配置類(lèi),將客戶(hù)端配置中的secret配置為加密:

SpringBootSecurity中OAuth2.0的加密配置是怎樣的

這樣加密配置就完成了。資源服務(wù)不用做任何修改。

測(cè)試

配置上面三個(gè)加密的地方后,加密就配置好了,下面來(lái)測(cè)試一下,其實(shí)測(cè)試流程與前面的一樣,客戶(hù)端感知不到,得到的access_token如下:

SpringBootSecurity中OAuth2.0的加密配置是怎樣的

最終訪(fǎng)問(wèn)結(jié)果如下:

SpringBootSecurity中OAuth2.0的加密配置是怎樣的

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI