70 lines
1.5 KiB
Java
70 lines
1.5 KiB
Java
package com.youlai.boot.open.service;
|
|
|
|
import com.youlai.boot.auth.model.resp.CaptchaInfo;
|
|
import com.youlai.boot.framework.security.model.AuthenticationToken;
|
|
|
|
public interface OpenAuthService {
|
|
|
|
/**
|
|
* 获取验证码
|
|
*/
|
|
CaptchaInfo getCaptcha();
|
|
|
|
/**
|
|
* 发送登录/注册短信验证码(用户存在则用于登录,不存在则用于注册)
|
|
*
|
|
* @param mobile 手机号
|
|
*/
|
|
void sendLoginSmsCode(String mobile);
|
|
|
|
/**
|
|
* 短信验证码登录
|
|
*
|
|
* @param mobile 手机号
|
|
* @param code 验证码
|
|
* @return 认证令牌
|
|
*/
|
|
AuthenticationToken loginBySms(String mobile, String code);
|
|
|
|
/**
|
|
* 账号密码登录
|
|
*
|
|
* @param username 用户名
|
|
* @param password 密码
|
|
* @return 认证令牌
|
|
*/
|
|
AuthenticationToken login(String username, String password);
|
|
|
|
/**
|
|
* 发送重置密码短信验证码
|
|
*
|
|
* @param mobile 手机号
|
|
*/
|
|
boolean sendResetPwdSmsCode(String mobile);
|
|
|
|
/**
|
|
* 重置密码
|
|
*
|
|
* @param mobile 手机号
|
|
* @param code 短信验证码
|
|
* @param password 新密码
|
|
*/
|
|
void resetPassword(String mobile, String code, String password);
|
|
|
|
/**
|
|
* 退出登录
|
|
*
|
|
* @param accessToken 访问令牌(可选,为空时仅清理当前上下文)
|
|
*/
|
|
void logout(String accessToken);
|
|
|
|
/**
|
|
* 刷新令牌
|
|
*
|
|
* @param refreshToken 刷新令牌
|
|
* @return 认证令牌
|
|
*/
|
|
AuthenticationToken refreshToken(String refreshToken);
|
|
}
|
|
|