修复短信登录限流处理

This commit is contained in:
yml2213
2026-06-12 20:30:43 +08:00
parent 4344b1d07c
commit 8cfb63a3e7
4 changed files with 92 additions and 4 deletions
+7 -2
View File
@@ -81,16 +81,21 @@ func (p *AliyunProvider) SendLoginCode(ctx context.Context, phone string, code s
resultCode := dara.StringValue(resp.Body.Code)
if resultCode != "OK" {
resultMessage := dara.StringValue(resp.Body.Message)
if p.log != nil {
p.log.Warn(
"aliyun sms rejected",
zap.String("phone", maskPhone(phone)),
zap.String("request_id", dara.StringValue(resp.Body.RequestId)),
zap.String("code", resultCode),
zap.String("message", dara.StringValue(resp.Body.Message)),
zap.String("message", resultMessage),
)
}
return fmt.Errorf("aliyun sms rejected: %s", resultCode)
providerErr := &ProviderError{Code: resultCode, Message: resultMessage}
if resultCode == "isv.BUSINESS_LIMIT_CONTROL" {
providerErr.Err = ErrProviderRateLimited
}
return providerErr
}
if p.log != nil {