public class User extends User
登录登出、第三方登录、token自动解析获取用户信息、分布式验证码
authProperties, redis, request
Constructor and Description |
---|
User() |
Modifier and Type | Method and Description |
---|---|
void |
captchaValidate(String captcha)
验证-验证码(基于redis解决分布式验证的问题)
|
void |
getCaptchaImage()
获得-验证码图片(基于redis解决分布式验证的问题)
|
QqUserDTO |
getQqUserInfo(String access_token,
String openid)
获取用户个人信息
|
AccessTokenVO |
getWxAccessToken(String code)
微信-获取access_token
|
WxUserDTO |
getWxUserInfo(String access_token,
String openid)
微信-获取用户个人信息
|
String |
login(Object userInfo)
登录
|
Result<?> |
logout()
登出
|
getRequestToken, getUser, getUserId
public AccessTokenVO getWxAccessToken(String code)
code
- 微信授权code码public WxUserDTO getWxUserInfo(String access_token, String openid)
access_token
- 调用凭证openid
- 普通用户的标识,对当前开发者帐号唯一public QqUserDTO getQqUserInfo(String access_token, String openid)
access_token
- 调用凭证openid
- 普通用户的标识,对当前开发者帐号唯一public void getCaptchaImage()
将验证码设置到redis
将验证码图片写入response,并设置ContentType为image/png
public void captchaValidate(String captcha)
验证码错误会抛出一个ResultException异常,作为结果提示...
captcha
- 验证码ResultException
- 验证码错误public String login(Object userInfo)
登录成功-设置token至Cookie
登录成功-设置token至Header
注意:登录之后的所有相关操作,都是基于请求报文中所携带的token,若Cookie与Header皆没有token或Redis中匹配不到值,将视为未登录状态
userInfo
- 用户信息(必须包含:AuthProperties#getUserKey(),默认:userId,可通过配置文件进行配置
)(不建议使用,最好是忽略这个返回值,哪怕你只是将他放在响应体里面,也不推荐这样做)
支持Cookie:建议使用默认的机制即可
不支持Cookie:建议从响应Header中获取token,之后的请求都将token放入请求Header中即可
public Result<?> logout()
清除Redis-token
清除Cookie-token
Copyright © 2022 Pivotal Software, Inc.. All rights reserved.