package cn.reghao.tnb.account.app.service;

import cn.reghao.tnb.account.app.model.dto.AccountLoginDto;
import cn.reghao.tnb.account.app.security.form.AccountAuthToken;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.validation.annotation.Validated;

/**
 * @author reghao
 * @date 2021-11-14 14:51:17
 */
public interface AccountLoginService extends UserDetailsService {
    AccountAuthToken getPreAuthentication(@Validated AccountLoginDto userLoginDto) throws AuthenticationException;
    AccountAuthToken authByPassword(AccountAuthToken authToken);
    AccountAuthToken authByVerifyCode(AccountAuthToken authToken);
}
