java 32位授权码_Java实现OAuth2.0授权码方式
Java實(shí)現(xiàn)OAuth2.0授權(quán)碼方式
前面介紹了OAuth2.0和授權(quán)方式,可以參考以下文章:
今天就用Java來(lái)驗(yàn)證OAuth2.0授權(quán)方式的授權(quán)碼式,我們Spring Cloud的OAuth來(lái)實(shí)現(xiàn)認(rèn)證和資源服務(wù)器,以下是Web Security的配置。
web security
我們另外要實(shí)現(xiàn)一個(gè)認(rèn)證服務(wù)器,其實(shí)很簡(jiǎn)單我們做個(gè)配置類,繼承AuthorizationServerConfigurerAdapter類,并添加注解EnableAuthorizationServer,我們配置四種認(rèn)證方式,一個(gè)認(rèn)證服務(wù)器基本完成,以下是具體代碼:
認(rèn)證服務(wù)器
我們?cè)倥渲脗€(gè)資源服務(wù)器,就是我們的應(yīng)用服務(wù),這個(gè)很簡(jiǎn)單了,一個(gè)spirngboot的web項(xiàng)目,在配置文件中需要配置token信息的地址:
security的配置
我們的一個(gè)測(cè)試Controller,配置一個(gè)路徑/info
controller
我們的認(rèn)證服務(wù)器監(jiān)聽(tīng)8080端口,資源服務(wù)器監(jiān)聽(tīng)8082端口,下面就驗(yàn)證授權(quán)模式。
獲取授權(quán)碼
在瀏覽器中輸入以下地址,頁(yè)面會(huì)跳轉(zhuǎn)到登錄頁(yè)面,用戶名和密碼是我們?cè)诖a中設(shè)置的java/java。
http://localhost:8080/oauth/authorize?response_type=code&client_id=client&rediredirect_uri=http://localhost:8082/info
登錄頁(yè)面
登錄后,系統(tǒng)會(huì)跳轉(zhuǎn)到授權(quán)頁(yè)面,見(jiàn)面如下:
授權(quán)
授權(quán)后會(huì)跳轉(zhuǎn)到設(shè)置的跳轉(zhuǎn)頁(yè)面并且?guī)в衏ode=XXXX,這個(gè)后面的code的值就是我們需要的認(rèn)證碼,我們下面就用這個(gè)認(rèn)證碼獲取token。
獲取認(rèn)證碼
獲取token
現(xiàn)在就往認(rèn)證服務(wù)器發(fā)送一個(gè)post請(qǐng)求,帶上我們的授權(quán)碼,用上文介紹的httpClient(是時(shí)候用idea的httpclient功能了)發(fā)送請(qǐng)求,具體如下:
獲取token
發(fā)送請(qǐng)求后,下面就是我們獲取到的access token和refresh token。
獲取到的token
獲取資源
我們用httpClinet發(fā)送一個(gè)get請(qǐng)求,帶上我們的token,添加Authorization頭信息,值為Bearer+token。
獲取資源
這個(gè)請(qǐng)求返回一個(gè)認(rèn)證信息,具體如下:
認(rèn)證信息
總結(jié)
以上是生活随笔為你收集整理的java 32位授权码_Java实现OAuth2.0授权码方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: java邻接表无向图的创建_邻接表无向图
 - 下一篇: JAVA关于父亲节的代码_关于父亲节的经