Skip to main content

默认支持的认证方式

sureness目前默认支持的认证方式有bearer jwt,basic auth, digest auth, 当然用户可以通过扩展Processor,SubjectSubjectCreate接口实现自定义的认证方式

bearer jwt

jwtjson web token,是目前很流行的跨域,无状态,安全认证解决方案,介绍详见网络
我们这里为啥叫bearer jwt是因为jwt是放入到http请求头的bearer token里面,即: Authorization: Bearer jsonWebTokenValue
eg:

GET /api/v1/source1 HTTP/1.1
Host: localhost:8088
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzUxMiIsInppcCI6IkRFRiJ9.eNocjEEOwiAQRe8y65IwCBQ4hlvjotAhVqs1DBoT492l7F5e_vtfuNYFAliUPs3aCrIuCW1nFDHlUaBVqJOLJpkIA_ArtnHd7o0X5s43egim8qayy6lCQOOUd15JHIA-zy4OUo5dlG2lFp46KDjvR0fKhfgCIU8r0-8PAAD__w.f-3klWWDpEO3uDLlx2S53DV2cYernwVEDwcC6z1JexocbZoxRKmASTOuky1qMCxy_hV8-RbuMjDmI3ASa_FQOw

我们可以在postman如下使用它: 将jwt值塞入Bearer Token里.
jwtPostmanUse

basic auth

basic authBasic access authentication,经典的http基本认证方式,介绍详见网络
这种认证方式是将账户密码组成的字符串base64加密,放入到请求头的 Authorization中, 即:Authorization: Basic base64encode(username+":"+password)
eg:

GET /api/v1/source1 HTTP/1.1
Host: localhost:8088
Content-Type: application/json
Authorization: Basic dG9tOjMyMTEz

我们可以在postman如下使用它: 在Basic Auth类型的Authorization中输入账户密码即可,postman会自动对其base64加密.
basicAuthPostmanUse

digest auth

digest authDigest access authentication,经典的http摘要认证方式,用于保护传输的密码,介绍详见网络
下面是digest auth的认证流程(图片来源于网络):
digestFlow

我们可以在chrome浏览器直接使用它: 访问url,在弹出的对话框中输入账户密码即可,chrome浏览器会自动进行认证流程.
digestAuthChromeUse

其他认证方式

目前sureness默认支持这三种主流的认证方式,满足绝大部分需求,当然你也可以很轻松的自定义认证方式,详见自定义Subject

我们提供了默认认证方式的使用DEMO,请参考 一步一步搭建认证鉴权系统
当然我们也提供了自定义认证方式的扩展DEMO,请参考 Springboot项目集成-数据库方案