默认支持的认证方式
sureness
目前默认支持的认证方式有bearer jwt
,basic auth
, digest auth
, 当然用户可以通过扩展Processor
,Subject
和SubjectCreate
接口实现自定义的认证方式
bearer jwt
jwt
即json 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
里.
basic auth
basic auth
即Basic 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
加密.
digest auth
digest auth
即Digest access authentication
,经典的http
摘要认证方式,用于保护传输的密码,介绍详见网络
下面是digest auth
的认证流程(图片来源于网络):
我们可以在chrome
浏览器直接使用它: 访问url
,在弹出的对话框中输入账户密码即可,chrome
浏览器会自动进行认证流程.
其他认证方式
目前sureness
默认支持这三种主流的认证方式,满足绝大部分需求,当然你也可以很轻松的自定义认证方式,详见自定义Subject
我们提供了默认认证方式的使用DEMO
,请参考 一步一步搭建认证鉴权系统
当然我们也提供了自定义认证方式的扩展DEMO
,请参考 Springboot项目集成-数据库方案