本文介紹了如何使用Spring在OAuth2認(rèn)證中生成客戶端密鑰的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在為我的應(yīng)用程序使用Spring為OAuth2創(chuàng)建API,但規(guī)范(https://www.rfc-editor.org/rfc/rfc6749)和Spring OAuth2文檔中沒有寫任何關(guān)于如何生成客戶端機(jī)密的內(nèi)容。
有人知道嗎?
推薦答案
Spring使用PasswordEncoder對(duì)客戶端機(jī)密進(jìn)行解碼/編碼。請(qǐng)參閱JdbcClientDetailsService(如果您計(jì)劃將客戶端詳細(xì)信息存儲(chǔ)在數(shù)據(jù)庫中)。
因此,在為Spring OAuth2配置Bean時(shí),您通常會(huì)為ClientDetailsService提供一個(gè)PasswordEncode實(shí)例。
典型情況是使用BCryptPasswordEncoder。因此,在將編碼的客戶端密碼放入數(shù)據(jù)庫列之前,您可以編寫一個(gè)示例程序來生成它:
String password = "testPassword";
PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String encodedPassword = passwordEncoder.encode(password);
這篇關(guān)于如何使用Spring在OAuth2認(rèn)證中生成客戶端密鑰的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,