类 User
- java.lang.Object
-
- ai.yue.library.auth.client.client.User
-
- ai.yue.library.auth.service.client.User
-
public class User extends User
User客户端登录登出、第三方登录、token自动解析获取用户信息、分布式验证码
- 从以下版本开始:
- 2018年4月24日
- 作者:
- ylyue
-
-
字段概要
-
从类继承的字段 ai.yue.library.auth.client.client.User
authProperties, redis, request
-
-
构造器概要
构造器 构造器 说明 User()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidcaptchaValidate(String captcha)验证-验证码(基于redis解决分布式验证的问题)voidgetCaptchaImage()获得-验证码图片(基于redis解决分布式验证的问题)QqUserDTOgetQqUserInfo(String access_token, String openid)获取用户个人信息AccessTokenVOgetWxAccessToken(String code)微信-获取access_tokenWxUserDTOgetWxUserInfo(String access_token, String openid)微信-获取用户个人信息Stringlogin(Object userInfo)登录ai.yue.library.base.view.Result<?>logout()登出-
从类继承的方法 ai.yue.library.auth.client.client.User
getRequestToken, getUser, getUserId
-
-
-
-
方法详细资料
-
getWxAccessToken
public AccessTokenVO getWxAccessToken(String code)
微信-获取access_token- 参数:
code- 微信授权code码- 返回:
- accessTokenVO,参考微信返回说明文档
-
getWxUserInfo
public WxUserDTO getWxUserInfo(String access_token, String openid)
微信-获取用户个人信息- 参数:
access_token- 调用凭证openid- 普通用户的标识,对当前开发者帐号唯一- 返回:
- WxUserDTO,开发者最好保存unionID信息,以便以后在不同应用之间进行用户信息互通。
-
getQqUserInfo
public QqUserDTO getQqUserInfo(String access_token, String openid)
获取用户个人信息- 参数:
access_token- 调用凭证openid- 普通用户的标识,对当前开发者帐号唯一- 返回:
- QqUserDTO
-
getCaptchaImage
public void getCaptchaImage()
获得-验证码图片(基于redis解决分布式验证的问题)将验证码设置到redis
将验证码图片写入response,并设置ContentType为image/png
-
captchaValidate
public void captchaValidate(String captcha)
验证-验证码(基于redis解决分布式验证的问题)验证码错误会抛出一个ResultException异常,作为结果提示...
- 参数:
captcha- 验证码- 抛出:
ai.yue.library.base.exception.ResultException- 验证码错误
-
login
public String login(Object userInfo)
登录登录成功-设置token至Cookie
登录成功-设置token至Header
注意:登录之后的所有相关操作,都是基于请求报文中所携带的token,若Cookie与Header皆没有token或Redis中匹配不到值,将视为未登录状态- 参数:
userInfo- 用户信息(必须包含:AuthProperties.getUserKey(),默认:userId,可通过配置文件进行配置)- 返回:
- token 身份认证令牌
(不建议使用,最好是忽略这个返回值,哪怕你只是将他放在响应体里面,也不推荐这样做)支持Cookie:建议使用默认的机制即可
不支持Cookie:建议从响应Header中获取token,之后的请求都将token放入请求Header中即可
-
logout
public ai.yue.library.base.view.Result<?> logout()
登出清除Redis-token
清除Cookie-token
- 返回:
- 成功
-
-