[英]Registration with Gigya Swift SDK code verification email not being sent
正在编写桥 function 以在 Gigya 中注册新用户。 或者注册流程设置为在注册新用户时发送验证码email。 通过 Swift SDK 注册时,这似乎没有触发。 我在发送请求的方式上是否遗漏了什么?
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)
}
}
}
}
对象...
RCT_EXTERN_METHOD(registerAccount:(NSString *)email
password:(NSString *)password
params:(NSDictionary *)params
resolve:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
最后这被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;
}
我能够看到在站点身份访问选项卡中创建的新用户,但似乎没有发送代码验证 email。
对于将来遇到此问题的任何人。 通过 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.