基于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/loginaccept: application/jsoncontent-type: application/x-www-form-urlencodedusername: superadminpassword: 1234567890

JWT令牌Token

登录胜利后,记录TOKEN,每次发送申请之前,设置一下即可,后盾会解析TOKEN并辨认用户,并判断是否具备权限,适宜手机挪动端拜访场景,有效期比cookie长!

登录api

POST https://demo.crudapi.cn/api/auth/jwt/loginaccept: application/jsoncontent-type: application/x-www-form-urlencodedusername: superadminpassword: 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 "file=@product.xlsx" "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即可,代码同步更新。