Oauth2 解決了cookie和session的問題

搭建認證服務器


把依賴都復制進來



因為搭建的是Oauth的服務器,所以還需要導入oauth2

開始寫代碼

首先創建啟動類



增加配置文件

端口設置為9090

認證服務器的配置

繼承的父類。

這個就是授權服務器的配置的適配器的類

@Configuration表示聲明為一個配置類
@EnableAuthorizationServer表示當前應用作為認證授權的服務器來存在的

覆蓋適配器的三個configure方法

1.客戶端應用讓認證服務器知道有哪些應用會找他來要令牌。

客戶端的詳情服務的配置,在這里面配置客戶端引用的詳細信息。讓認證服務器知道有哪些客戶端應用 會來請求令牌。

注冊客戶端
在這里為了讓大家看清楚,先寫到內存里 ,后面再配置到數據庫內持久化。
withClient是客戶端的名稱
secret相當於應用的密碼。

所有的密碼都要用passwordEncoder來加密,它本質上就是包裝了我們之前介紹的工具。用一個隨即的鹽來做加密。把這個鹽也編譯到加密后的密文里面去。

這里我們注冊了一個叫做orderApp的應用,密碼是123456

scopes后面可以用來做ACL的權限控制,scopes這里就表示orderApp擁有什么樣權限。為了簡便這里就寫兩個read和write。
這里orderApp獲取的所有權限的集合。

令牌的有效期 3600秒 就是一個小時。

resourceIds代表資源服務器的id。表示orderApp可以訪問order-server這個資源服務器。
這里的配置就是表示能訪問哪些資源服務器。
scopes表示的是能訪問資源服務器能干什么。

授權方式,Oauth協議有四種授權類型,

再加一個 讓訂單服務可以訪問 認證服務器。

這樣我們就聲明了兩個資源服務器 一個orderApp 一個orderService.現在他們就是資源服務器可以認證的
結束
