轻松聘AI开发
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

25 lines
1.1 KiB

package com.mydreamjob.auth.sms;
import com.mydreamjob.common.exception.BusinessException;
import com.mydreamjob.common.exception.ErrorCode;
/**
* 不可用短信发送实现。
*
* <p>由 {@link SmsSenderConfiguration} 在 {@code app.sms.mock.enabled} 为 false、缺失、
* 空值、仅空白或其他非法值时装配(不再使用条件注解,以保证任何取值下恰好一个 Bean)。</p>
*
* <p>未显式启用真实短信网关或 Mock 时,本实现<strong>安全失败</strong>:
* 抛出既有的“服务不可用”业务异常,绝不返回虚假的“发送成功”。
* 异常消息为固定安全文本,不含手机号、验证码或任何配置细节。</p>
*/
public class UnavailableSmsCodeSender implements SmsCodeSender {
/** 固定安全文本:不含手机号、验证码、Token、内网地址或配置项。 */
static final String SAFE_MESSAGE = "sms sender unavailable";
@Override
public void sendVerificationCode(String phone, String purpose, String code) {
throw new BusinessException(ErrorCode.SERVICE_UNAVAILABLE, SAFE_MESSAGE);
}
}