基于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
默认用户名密码: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 "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即可,代码同步更新。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |