基于crudapi后端Java SDK二次開發之API認證和鑒權(二)
回顧
通過上一篇文章 基于crudapi后端Java SDK二次開發之環境搭建(一)的介紹,后臺API已經搭建完成,RBAC權限模型中介紹了用戶和權限相關內容,本文主要介紹API集成中認證和鑒權相關內容,
背景
實際專案中,為了保證資料安全,API需要認證才可以訪問,本文主要介紹三種API認證方式,基于Spring Security框架實作, 包括Cookie,Basic Auth,JWT令牌Token,
Swagger api檔案
https://demo.crudapi.cn/swagger-ui.html
默認用戶名密碼:
superadmin/1234567890
Cookie
登錄api
登錄成功后,瀏覽器自動處理cookie并識別登錄狀態,適合web訪問場景,方便快捷!
POST https://demo.crudapi.cn/api/auth/login
accept: application/json
content-type: application/x-www-form-urlencoded
username: superadmin
password: 1234567890
JWT令牌Token
登錄成功后,記錄TOKEN,每次發送請求之前,設定一下即可,后臺會決議TOKEN并識別用戶,并判斷是否具有權限,適合手機移動端訪問場景,有效期比cookie長!
登錄api
POST https://demo.crudapi.cn/api/auth/jwt/login
accept: application/json
content-type: application/x-www-form-urlencoded
username: superadmin
password: 1234567890

獲取JWT Token
從請求回傳的頭里面獲取token欄位內容,格式為Bearer XXXXX
設定JWT token
設定Type為Bearer Token
Bearer XXXXX和XXXX兩種格式都可以,后臺自動識別

查看Authorization
請求頭Authorization欄位自動識別為:Bearer XXXXX

基本認證Basic Auth
直接采用戶名和密碼的方式,適合任何簡單處理的場景,要注意安全問題,
設定
設定Type為Basic Auth
輸入用戶名密碼即可

查看Authorization
請求頭Authorization欄位自動識別為: Basic c3VwZXJhZG1pbjoxMjM0NTY3ODkw,其中c3VwZXJhZG1pbjoxMjM0NTY3ODkw為superadmin:1234567890的Base64編碼,

其它介面
注銷登錄
GET https://demo.crudapi.cn/api/auth/logout
創建用戶介面
POST https://demo.crudapi.cn/api/business/user
{
"name": "testuser",
"username": "testuser",
"password": "testuser",
"enabled": true,
"accountNonExpired": true,
"accountNonLocked": true,
"credentialsNonExpired": true,
"roleLines": [{
"name": "業務資料角色",
"role": {
"id": 20,
"name": "業務資料角色",
},
"roleId": 20
}]
}
curl示例
查詢序列號
curl -u 'superadmin:1234567890' -X GET -H 'Content-Type: application/json' 'https://demo.crudapi.cn/api/metadata/sequences/1'
curl -H 'Authorization:Basic c3VwZXJhZG1pbjoxMjM0NTY3ODkw' -X GET -H 'Content-Type: application/json' 'https://demo.crudapi.cn/api/metadata/sequences/1'
查詢序列號
curl -u 'superadmin:1234567890' -X POST -H 'Content-Type: application/json' -d '{"currentTime":false,"sequenceType":"STRING","minValue":1,"maxValue":999999999,"nextValue":1,"incrementBy":1,"name":"orderCode","caption":"訂單流水號","format":"SO_%9d"}' 'https://demo.crudapi.cn/api/metadata/sequences'
匯入EXCEL資料
curl -u 'superadmin:1234567890' -F "[email protected]" "https://demo.crudapi.cn/api/business/product/import"
小結
本文主要介紹了API集成三種方式,在實際應用中,根據具體業務場景選擇最佳方式即可!
crudapi簡介
crudapi是crud+api組合,表示增刪改查介面,是一款零代碼可配置的產品,使用crudapi可以告別枯燥無味的增刪改查代碼,讓您更加專注業務,節約大量成本,從而提高作業效率,
crudapi的目標是讓處理資料變得更簡單,所有人都可以免費使用!
無需編程,通過配置自動生成crud增刪改查RESTful API,提供后臺UI管理業務資料,基于主流的開源框架,擁有自主知識產權,支持二次開發,
demo演示
crudapi屬于產品級的零代碼平臺,不同于自動代碼生成器,不需要生成Controller、Service、Repository、Entity等業務代碼,程式運行起來就可以使用,真正0代碼,可以覆寫基本的和業務無關的CRUD RESTful API,
官網地址:https://crudapi.cn
測驗地址:https://demo.crudapi.cn/crudapi/login
附原始碼地址
GitHub地址
https://github.com/crudapi/crudapi-admin-web
Gitee地址
https://gitee.com/crudapi/crudapi-admin-web
由于網路原因,GitHub可能速度慢,改成訪問Gitee即可,代碼同步更新,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499419.html
標籤:其他
上一篇:mybatis 攔截器
