package com.youlai.boot.app.service; import com.youlai.boot.framework.captcha.model.CaptchaInfo; import com.youlai.boot.framework.security.model.AuthenticationToken; public interface AppAuthService { /** * 获取验证码 */ CaptchaInfo getCaptcha(); /** * 发送注册短信验证码 * * @param mobile 手机号 */ boolean sendRegisterSmsCode(String mobile); /** * 手机号注册 * * @param mobile 手机号 * @param code 验证码 * @param password 密码 * @param nickname 昵称 * @return 认证令牌 */ AuthenticationToken registerByMobile(String mobile, String code, String password, String nickname); /** * 发送登录短信验证码 * * @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); /** * 退出登录 */ void logout(); /** * 刷新令牌 * * @param refreshToken 刷新令牌 * @return 认证令牌 */ AuthenticationToken refreshToken(String refreshToken); }