OpenAM之OAuth2配置

OpenAM OAuth2

OpenAM是很強大的,OAuth2的配置也相對簡單,分3步走

  • 配置OAuth2 Application(=OAuth2 connect client / ≈OAuth2 agent)
  • 配置OAuth2 Service Provider(Configure OAuth2 authorization server)
  • 驗證OAuth2的code/access_token/tokeninfo是否正確

配置OAuth2 Application

1.進入頂層Top Level Realm,找到Applications->OAuth2
在這裏插入圖片描述
2.New一個Agent,這裏看到的Name,就是client_id
在這裏插入圖片描述

3.這裏的Client password要記住,也就是後面要用的client_sercret

在這裏插入圖片描述
4.把要授權跳轉的網站,配置進去Redirection_URIs,這裏我們用http://java.bejson.com/generator/ 在這裏插入圖片描述
5.Scope可以設置幾個,例如mail/employeenumber
在這裏插入圖片描述
*。至於Scope怎麼獲取,可以參考以下方法,從Subjects裏面打開找到你的用戶,然後修改,然後使用Chrome的F12查看元素,EntityEdit.XXX就是想要的Scope了,這個值後面tokeninfo的時候會獲取到。
在這裏插入圖片描述

配置OAuth2 Service Provider

1.DashBoard有個Common Tasks,找到一個Configure OAuth Provider的菜單,配置Configure OAuth2
在這裏插入圖片描述

2.基本沒什麼可以選,默認即可。在這裏插入圖片描述
3.正常保存後,可以再Services裏面找到一個OAuth2 Provider
在這裏插入圖片描述
4.裏面有些配置可以定製,不過作爲demo一般默認就夠了在這裏插入圖片描述

驗證OAuth2的code/access_token/tokeninfo是否正確

1.首先是code,開始構建url,關鍵是幾個字段

http://localhost:8099/openampro/oauth2/realms/root/authorize?client_id=tomcatadmin&response_type=code&scope=employeenumber&redirect_uri=http://java.bejson.com/generator

  • client_id=tomcatadmin,前面agent/client裏面的Name
  • response_type=code,這裏是code,當然你可以粗暴一點設置爲token直接獲取access_token
  • scope=employeenumber,相當於你要tokeninfo可以獲取的信息
  • redirect_uri=http://java.bejson.com/generator 必須是配置再重定向uris裏面的地址

2.跳轉並獲取Code

在這裏插入圖片描述
3.從地址提取codede7f03c5-a72c-4d74-acae-b7671fbbeb19
在這裏插入圖片描述

4.使用Postman構造POST請求,獲取ACCESS_TOKEN

  • url :

http://localhost:8099/openampro/oauth2/realms/root/access_token

  • 參數:

client_id:tomcatadmin
client_secret:tomcat123
code:de7f03c5-a72c-4d74-acae-b7671fbbeb19
grant_type:authorization_code
redirect_uri:http://java.bejson.com/generator

在這裏插入圖片描述

5.使用Postman構造GET請求,獲取TOKEN INFO

http://localhost:8099/openampro/oauth2/realms/root/tokeninfo?access_token=5afab977-64b0-4480-83cb-40b140aae1ed

在這裏插入圖片描述

Summary

到此,一個簡單的OpenAM-OAuth2的構建(redirectUrl->code->accessToken->tokenInfo)已經完成,但是這只是一個開始,還有更復雜的配置,更復雜的授權機制,還有LDAP/Subjects同步,Scope設置等等內容需要探索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章