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); }