登录授权
Last updated
Last updated
使用hsweb-authorization-api
提供的监听器,类UserOnSignIn
监听用户授权事件AuthorizationSuccessEvent
当用户完成授权(授权方式可自行实现或者使用框架默认的授权方式,主要触发该事件即可).授权通过后会触发该事件.流程如下
完成授权,触发AuthorizationSuccessEvent
UserOnSignIn
收到AuthorizationSuccessEvent
事件,获取参数token_type
(默认为sessionId
),以及授权信息
根据token_type
调用对应的UserTokenGenerator
生成token.
将token和授权信息中的userId注册到UserTokenManager
将token返回给授权接口
UserTokenGenerator 默认使用sessionId作为token,你可以实现UserTokenGenerator和UserTokenParser来进行自定义token实现 前后分离
http接口: POST /authorize/login
, 登录接口支持2种content-type
,application/json
(Json RequestBody方式)和application/x-www-form-urlencoded
(表单方式), 请在调用等时候指定对应等content-type
.必要参数: username
和 password
.
⚠️注意: 此接口只实现了简单的登录逻辑,不过会通过发布各种事件来实现自定义的逻辑处理.
AuthorizationDecodeEvent
在接收到登录请求之后触发,如果在登录前对用户名密码进行里加密,可以通过监听此事件实现对用户名密码的解密操作
AuthorizationBeforeEvent
在AuthorizationDecodeEvent
事件完成后触发,可通过监听此事件并获取请求参数,实现验证码功能
AuthorizationSuccessEvent
在授权成功后触发.注意: 权限控制模块也是通过监听此事件来完成授权
AuthorizationFailedEvent
授权失败时触发.当发生过程中异常时触发此事件
与授权同理,类UserOnSignOut
监听AuthorizationExitEvent
,当触发事件后,调用UserTokenManager
移除当前登录的token信息