简体   繁体   English

向 Gigya 注册 Swift SDK 代码验证 email 未发送

[英]Registration with Gigya Swift SDK code verification email not being sent

Working on writing a bridge function for registering a new user in Gigya.正在编写桥 function 以在 Gigya 中注册新用户。 Or registration flow is set to send a code verification email on registering a new user.或者注册流程设置为在注册新用户时发送验证码email。 This seems to not be firing when registering via the Swift SDK.通过 Swift SDK 注册时,这似乎没有触发。 Am I missing something in the way we are sending the request?我在发送请求的方式上是否遗漏了什么?

swift... swift...

@objc(registerAccount:password:params:resolve:rejecter:)
  func registerAccount(email: String, password: String, params: [String : Any],
                       _ resolve: @escaping RCTPromiseResolveBlock,
                       rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
    self.gigya.register(email: email, password: password, params: params) { result in
      switch result {
      case .success(let data):
        resolve(data);
      case .failure(let error):
        switch error.error {
        case .gigyaError(let data):
          resolve(data.toDictionary())
        default:
          reject("E_REGISTER_ACCOUNT", "Registration failed", error.error)
        }
      }
    }
  }

objc...对象...

RCT_EXTERN_METHOD(registerAccount:(NSString *)email
                  password:(NSString *)password
                  params:(NSDictionary *)params
                  resolve:(RCTPromiseResolveBlock)resolve
                  rejecter:(RCTPromiseRejectBlock)reject)

and lastly this gets called by JS...最后这被JS调用......

export async function register() {
  const email = 'test-registration@purple.com';
  const password = '234567';
  const req = await GIGYA_MANAGER.registerAccount(
    email,
    password,
    {
      finalizeRegistration: true,
      profile: {
        email: email,
        firstName: 'Stella',
        lastName: 'Beaglesmith'
      }
    }
  ).catch((err) => console.log(err));
  return req;
}

I am able to see new users created in the sites identity access tab, but no code verification email seems to be sent.我能够看到在站点身份访问选项卡中创建的新用户,但似乎没有发送代码验证 email。

For anyone coming across this in the future.对于将来遇到此问题的任何人。 When registering via the API, you need to send the verification manually so in Swift you will have a method that looks like this...通过 API 注册时,您需要手动发送验证,因此在 Swift 中,您将拥有如下所示的方法...

@objc(resendVerificationCode:regToken:resolve:rejecter:)
  func resendVerificationCode(UID: String, regToken: String,
                              _ resolve: @escaping RCTPromiseResolveBlock,
                              rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
    self.gigya.send(api: "accounts.resendVerificationCode", params: [
      "UID": UID,
      "regToken": regToken
    ]) { result in
      switch result {
      case .success(let data):
        print(data.values)
      case .failure(let error):
        print(error)
      }
    }
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM