@hz-9/a5-authn
Version:
Authentication module for the @hz-9/a5-* series of repositories.
40 lines (39 loc) • 1.08 kB
TypeScript
import { A5AuthTokenPairBo, A5AuthnUserPayloadBo } from '../../interfaces/auth';
export interface A5AuthnPhoneService {
/**
*
* 基于用户 Payload,获取用户 Token.
*
* @param user - 用户 Payload
*/
getTokens(user: A5AuthnUserPayloadBo): Promise<A5AuthTokenPairBo>;
/**
*
* 基于手机号和验证码,获取用户 Payload.
*
* 如果状态异常,可直接在函数中抛错,如果返回 null 则表示用户不存在或验证码错误
*
* @param phone
* @param code
*/
validatePhone(phone: string, code: string): Promise<A5AuthnUserPayloadBo | null>;
/**
*
* 发送手机验证码.
*
* 如果发送失败,直接在函数中抛 400 错误。
*
* @param phone
*/
sendPhone(phone: string): Promise<void>;
/**
*
* 验证手机验证码.
*
* 如果验证失败,直接在函数中抛 400 错误。
*
* @param phone
* @param code
*/
verifyPhone(phone: string, code: string): Promise<void>;
}