提取接口添加IP与实名验证; SendSms 添加调试模式验证码发送跳过逻辑
This commit is contained in:
10
README.md
10
README.md
@@ -3,14 +3,14 @@
|
|||||||
核心流程:
|
核心流程:
|
||||||
|
|
||||||
- [x] 注册与登录
|
- [x] 注册与登录
|
||||||
- [ ] 对接接口
|
- [x] 对接接口
|
||||||
- [ ] 人机风险分级验证
|
- [ ] 人机风险分级验证
|
||||||
- [ ] jwt 签发
|
- [ ] jwt 签发
|
||||||
- [x] 鉴权
|
- [x] 鉴权
|
||||||
- [x] 实名认证
|
- [x] 实名认证
|
||||||
- [x] 对接接口
|
- [x] 对接接口
|
||||||
- [x] 充值或购买
|
- [x] 充值或购买
|
||||||
- [ ] 对接接口
|
- [x] 对接接口
|
||||||
- [ ] 提取记录
|
- [ ] 提取记录
|
||||||
- [x] 提取 IP
|
- [x] 提取 IP
|
||||||
- [ ] 长效提取
|
- [ ] 长效提取
|
||||||
@@ -24,14 +24,8 @@
|
|||||||
|
|
||||||
错误处理类型转换失败问题
|
错误处理类型转换失败问题
|
||||||
|
|
||||||
transition 服务,查询后立即完成,提供是否访问接口参数,统一主动与回调调用
|
|
||||||
|
|
||||||
callback 结果直接由 api 端提供,不通过前端转发
|
callback 结果直接由 api 端提供,不通过前端转发
|
||||||
|
|
||||||
统一套餐创建逻辑
|
|
||||||
|
|
||||||
删除账单的状态字段,状态从关联表中计算获得
|
|
||||||
|
|
||||||
统一简化包导入别名
|
统一简化包导入别名
|
||||||
|
|
||||||
更新数据库填充
|
更新数据库填充
|
||||||
|
|||||||
@@ -28,6 +28,17 @@ func CreateChannel(c *fiber.Ctx) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
// 获取用户信息
|
||||||
|
user, err := q.User.
|
||||||
|
Where(q.User.ID.Eq(authContext.Payload.Id)).
|
||||||
|
Take()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if user.IDToken == "" {
|
||||||
|
return fiber.NewError(fiber.StatusForbidden, "账号未实名")
|
||||||
|
}
|
||||||
|
|
||||||
count, err := q.Whitelist.Where(
|
count, err := q.Whitelist.Where(
|
||||||
q.Whitelist.UserID.Eq(authContext.Payload.Id),
|
q.Whitelist.UserID.Eq(authContext.Payload.Id),
|
||||||
q.Whitelist.Host.Eq(c.IP()),
|
q.Whitelist.Host.Eq(c.IP()),
|
||||||
@@ -36,7 +47,7 @@ func CreateChannel(c *fiber.Ctx) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if count == 0 {
|
if count == 0 {
|
||||||
return fiber.NewError(fiber.StatusForbidden, fmt.Sprintf("forbidden %s", c.IP()))
|
return fiber.NewError(fiber.StatusForbidden, fmt.Sprintf("非白名单IP %s", c.IP()))
|
||||||
}
|
}
|
||||||
|
|
||||||
req := new(CreateChannelReq)
|
req := new(CreateChannelReq)
|
||||||
|
|||||||
@@ -78,25 +78,27 @@ func (s *verifierService) SendSms(ctx context.Context, phone string, purpose Ver
|
|||||||
code := rand.Intn(900000) + 100000 // 6-digit code between 100000-999999
|
code := rand.Intn(900000) + 100000 // 6-digit code between 100000-999999
|
||||||
|
|
||||||
// 发送短信验证码
|
// 发送短信验证码
|
||||||
params, err := json.Marshal(map[string]string{
|
if env.DebugExternalChange {
|
||||||
"code": strconv.Itoa(code),
|
params, err := json.Marshal(map[string]string{
|
||||||
})
|
"code": strconv.Itoa(code),
|
||||||
if err != nil {
|
})
|
||||||
return err
|
if err != nil {
|
||||||
}
|
return err
|
||||||
response, err := g.Aliyun.Sms.SendSms(&client.SendSmsRequest{
|
}
|
||||||
PhoneNumbers: &phone,
|
response, err := g.Aliyun.Sms.SendSms(&client.SendSmsRequest{
|
||||||
SignName: &env.AliyunSmsSignature,
|
PhoneNumbers: &phone,
|
||||||
TemplateCode: &env.AliyunSmsTemplateLogin,
|
SignName: &env.AliyunSmsSignature,
|
||||||
TemplateParam: u.P(string(params)),
|
TemplateCode: &env.AliyunSmsTemplateLogin,
|
||||||
})
|
TemplateParam: u.P(string(params)),
|
||||||
if err != nil {
|
})
|
||||||
_ = rds.Client.Del(ctx, key, keyLock).Err()
|
if err != nil {
|
||||||
return err
|
_ = rds.Client.Del(ctx, key, keyLock).Err()
|
||||||
}
|
return err
|
||||||
if response.Body.Code == nil || *response.Body.Code != "OK" {
|
}
|
||||||
_ = rds.Client.Del(ctx, key, keyLock).Err()
|
if response.Body.Code == nil || *response.Body.Code != "OK" {
|
||||||
return VerifierServiceError("验证码发送失败")
|
_ = rds.Client.Del(ctx, key, keyLock).Err()
|
||||||
|
return VerifierServiceError("验证码发送失败")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置验证码
|
// 设置验证码
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ func (s *Server) Run() error {
|
|||||||
|
|
||||||
// config
|
// config
|
||||||
s.fiber = fiber.New(fiber.Config{
|
s.fiber = fiber.New(fiber.Config{
|
||||||
|
ProxyHeader: fiber.HeaderXForwardedFor,
|
||||||
ErrorHandler: ErrorHandler,
|
ErrorHandler: ErrorHandler,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user