Spring-boot oauth2使用RestTemplate進(jìn)行后臺(tái)自動(dòng)登錄的實(shí)現(xiàn)
內(nèi)容不限于登錄業(yè)務(wù),主要簡單介紹RestTemplate的用法,包括
- 使用RestTemplate進(jìn)行post請(qǐng)求 postForObject
- 使用RestTemplate帶body/form-data進(jìn)行post請(qǐng)求 MultiValueMap
- 使用RestTemplate帶josn進(jìn)行post請(qǐng)求JSONObject
- 使用RestTemplate帶頭信息headers進(jìn)行post請(qǐng)求 HttpHeaders
登錄流程
- 定義 RestTemplate
- 定義 MultiValueMap,構(gòu)造 post的body內(nèi)容
- 定義 HttpHeaders,構(gòu)造請(qǐng)求的頭部信息
- 定義 HttpEntity,發(fā)送請(qǐng)求的實(shí)體
- 定義 RestTemplate,進(jìn)行請(qǐng)求。返回?cái)?shù)據(jù)
主要代碼
// 構(gòu)造 post的body內(nèi)容(要post的內(nèi)容,按需定義) MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>(); paramsMap.set("grant_type", "password"); paramsMap.set("username", "yourname"); paramsMap.set("password", "yourpassword"); // 構(gòu)造頭部信息(若有需要) HttpHeaders headers = new HttpHeaders(); headers.add("Authorization", "Basic xxxxxx你的認(rèn)證密鑰"); // 設(shè)置類型 "application/json;charset=UTF-8" headers.setContentType(MediaType.APPLICATION_JSON); // 構(gòu)造請(qǐng)求的實(shí)體。包含body和headers的內(nèi)容 HttpEntity<MultiValueMap<String, String>> request = new HttpEntity(paramsMap, headers); // 聲明 restTemplateAuth(用作請(qǐng)求) RestTemplate restTemplateAuth = new RestTemplate(); // 進(jìn)行請(qǐng)求,并返回?cái)?shù)據(jù) String authInfo = restTemplateAuth.postForObject("http://localhost:8089/oauth/token", request, String.class);
使用josn請(qǐng)求的示例代碼
Posting JSON with postForObject JSONObject personJsonObject = new JSONObject(); personJsonObject.put("id", 1); personJsonObject.put("name", "John"); HttpEntity<String> request = new HttpEntity<String>(personJsonObject.toString(), headers); String personResultAsJsonStr = restTemplate.postForObject("url", request, String.class);
到此這篇關(guān)于Spring-boot oauth2使用RestTemplate進(jìn)行后臺(tái)自動(dòng)登錄的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Spring-boot oauth2 后臺(tái)自動(dòng)登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
面試題:Java 實(shí)現(xiàn)查找旋轉(zhuǎn)數(shù)組的最小數(shù)字
這篇文章主要介紹了Java 實(shí)現(xiàn)查找旋轉(zhuǎn)數(shù)組的最小數(shù)字,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07JavaWeb使用mvc模式實(shí)現(xiàn)登錄功能
本文主要介紹了JavaWeb使用mvc模式實(shí)現(xiàn)登錄功能,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之財(cái)務(wù)預(yù)算管理系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+SSM+Jsp+Mysql+Layui+Maven開發(fā)的財(cái)務(wù)預(yù)算管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有財(cái)務(wù)預(yù)算管理該有的所有功能,感興趣的朋友快來看看吧2022-02-02SpringBoot之如何正確、安全的關(guān)閉服務(wù)
這篇文章主要介紹了SpringBoot之如何正確、安全的關(guān)閉服務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Java找不到或無法加載主類及編碼錯(cuò)誤問題的解決方案
今天小編就為大家分享一篇關(guān)于Java找不到或無法加載主類及編碼錯(cuò)誤問題的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02Mybatis基于TypeHandler實(shí)現(xiàn)敏感數(shù)據(jù)加密
業(yè)務(wù)場景中經(jīng)常會(huì)遇到諸如用戶手機(jī)號(hào),身份證號(hào),銀行卡號(hào),郵箱,地址,密碼等等信息,屬于敏感信息,本文就來介紹一下Mybatis基于TypeHandler實(shí)現(xiàn)敏感數(shù)據(jù)加密,感興趣的可以了解一下2023-10-10