package com.iailab.module.system.service.auth;
|
|
import com.iailab.module.system.controller.admin.auth.vo.*;
|
import com.iailab.module.system.dal.dataobject.user.AdminUserDO;
|
|
import javax.validation.Valid;
|
|
/**
|
* 管理后台的认证 Service 接口
|
*
|
* 提供用户的登录、登出的能力
|
*
|
* @author iailab
|
*/
|
public interface AdminAuthService {
|
|
/**
|
* 验证账号 + 密码。如果通过,则返回用户
|
*
|
* @param username 账号
|
* @param password 密码
|
* @return 用户
|
*/
|
AdminUserDO authenticate(String username, String password);
|
|
/**
|
* 账号登录
|
*
|
* @param reqVO 登录信息
|
* @return 登录结果
|
*/
|
AuthLoginRespVO login(@Valid AuthLoginReqVO reqVO);
|
|
/**
|
* 基于 token 退出登录
|
*
|
* @param token token
|
* @param logType 登出类型
|
*/
|
void logout(String token, Integer logType);
|
|
/**
|
* 短信验证码发送
|
*
|
* @param reqVO 发送请求
|
*/
|
void sendSmsCode(AuthSmsSendReqVO reqVO);
|
|
/**
|
* 短信登录
|
*
|
* @param reqVO 登录信息
|
* @return 登录结果
|
*/
|
AuthLoginRespVO smsLogin(AuthSmsLoginReqVO reqVO) ;
|
|
/**
|
* 社交快捷登录,使用 code 授权码
|
*
|
* @param reqVO 登录信息
|
* @return 登录结果
|
*/
|
AuthLoginRespVO socialLogin(@Valid AuthSocialLoginReqVO reqVO);
|
|
/**
|
* 刷新访问令牌
|
*
|
* @param refreshToken 刷新令牌
|
* @return 登录结果
|
*/
|
AuthLoginRespVO refreshToken(String refreshToken);
|
|
}
|