環境
SpringSecurity6.1版本
SpringBoot3.1版本
常見問題
- oauth2客戶端請求oauth授權端,響應401
檢查spring.security.oauth2.client.registration.login-client.client-secret
的值很spring.security.oauth2.authorizationserver.client.login-client.registration.client-secret
的值是否一樣。
注意:
{noop}
這種格式的密鑰secret只有授權服務器端需要配置。
- oauth2授權服務器重定向到oauth2客戶端的時候,給出authorization_request_not_found錯誤內容。
檢查oauth2授權服務器和oauth2客戶端的訪問的地址是否是一樣的(排除端口),也就是說127.0.0.1:8080
和127.0.0.1:8081
這種方式不行,會導致客戶端請求服務器的憑據找不到。
如果是本地調試開發,可以使用127.0.0.1
和localhost
的方式進行區分oauth2授權服務器和oauth客戶端的地址。
如果有多臺服務器,可以使用windows的hosts文件進行本地host映射。
配置的文件目錄爲:C:\Windows\System32\drivers\etc\hosts文件,需要使用管理員身份打開編輯器哦。否則無法保存寫入修改的內容。
文檔
SpringSecurity關於OAuth2客戶端和資源服務器的配置
SpringSecurity關於OAuth2授權服務器的配置