当前位置: 首页 > 后端技术 > Java

基于crudapi后端JavaSDK二次开发的API认证及认证(二)

时间:2023-04-01 14:13:15 Java

基于crudapi后端JavaSDK二次开发的API认证及认证(二)复习通过上篇文章基于crudapi后端Java介绍到SDK二次开发的环境搭建(一),后台API已经搭建完成。RBAC权限模型介绍了用户和权限相关的内容。本文主要介绍API集成中认证授权相关的内容。背景在实际项目中,为了保证数据安全,需要对API进行鉴权后才能访问。本文主要介绍三种基于SpringSecurity框架实现的API认证方式,分别是Cookie、BasicAuth和JWTToken。swaggerapi文档https://demo.crudapi.cn/swagger-ui.html默认用户名和密码:superadmin/1234567890Cookie登录api登录成功后,浏览器自动处理cookie并识别登录状态,适用于web访问场景,方便快捷!POSThttps://demo.crudapi.cn/api/auth/loginaccept:application/jsoncontent-type:application/x-www-form-urlencodedusername:superadminpassword:1234567890JWTToken登录成功后,记录下TOKEN,每次发送请求time之前,设置一下,后台会解析TOKEN并识别用户,判断是否有权限,适合手机访问场景,有效期比cookie长!登录apiPOSThttps://demo.crudapi.cn/api/auth/jwt/loginaccept:application/jsoncontent-type:application/x-www-form-urlencodedusername:superadminpassword:1234567890获取JWTToken从返回的header中获取token通过请求Field内容,格式为BearerXXXXX,设置JWTtoken,Type设置为BearerToken。BearerXXXXX和XXXX都是可以接受的。后台自动识别并检查Authorization请求头。授权字段自动识别为:BearerXXXXX,适用于任何简单的加工场景,需要注意安全问题。将Type设置为BasicAuth,输入用户名和密码,查看Authorization请求头。Authorization字段自动识别为:Basicc3VwZXJhZG1pbjoxMjM0NTY3ODkw,其中c3VwZXJhZG1pbjoxMjM0NTY3ODkw是superadmin:1234567890的Base64编码。其他接口注销登录GEThttps://demo.crudapi.cn/api/auth/logout创建用户界面POSThttps://demo.crudapi.cn/api/business/user{"name":"testuser","用户名”:“testuser”,“密码”:“testuser”,“启用”:true,“accountNonExpired”:true,“accountNonLocked”:true,“credentialsNonExpired”:true,“roleLines”:[{“name”:“businessDatarole","role":{"id":20,"name":"Businessdatarole",},"roleId":20}]}curl示例查询序列号curl-u'superadmin:1234567890'-XGET-H'Content-Type:application/json''https://demo.crudapi.cn/api/metadata/sequences/1'curl-H'Authorization:Basicc3VwZXJhZG1pbjoxMjM0NTY3ODkw'-XGET-H'Content-Type:application/json''https://demo.crudapi.cn/api/metadata/sequences/1'查询序列号curl-u'superadmin:1234567890'-XPOST-H'Content-Type:application/json'-d'{"currentTime":false,"sequenceType":"STRING","minValue":1,"maxValue":999999999,"nextValue":1,"incrementBy":1,"name":"orderCode","caption":"orderserialnumber","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的RESTfulAPI,提供后台UI管理业务数据。基于主流开源框架,拥有自主知识产权,支持二次开发。该demo展示了crudapi是一个产品级的零代码平台。不同于自动代码生成器,它不需要生成Controller、Service、Repository、Entity等业务代码。该程序可以在运行时使用。真正的0代码可以覆盖基础的和业务无关的CRUDRESTfulAPI。官网地址:https://crudapi.cn测试地址:https://demo.crudapi.cn/crudapi/login附源码地址GitHub地址https://github.com/crudapi/crudapi-admin-webGitee地址https://gitee.com/crudapi/crudapi-admin-web由于网络原因,GitHub可能会比较慢,改成访问Gitee即可,代码会同步更新。