Parse platform 使用Parse重新发送电子邮件验证

Parse platform 使用Parse重新发送电子邮件验证,parse-platform,parse-server,Parse Platform,Parse Server,我不确定我是否只是没有看到它,或者它不明显,但有没有办法让解析的JavascriptSDK或REST API将验证电子邮件重新发送到特定的用户名/电子邮件,该用户名/电子邮件已注册,但由于任何原因未收到电子邮件?我在几年前以及目前为止都遇到过这个问题我记得没有办法通过Parse SDK直接重新发送验证电子邮件。首先填充或更新电子邮件字段时,会自动触发电子邮件验证 作为一种解决方法,我实现了一个云函数来覆盖电子邮件字段以触发重新发送。该函数将原始电子邮件地址值存储在临时变量中,然后用随机生成的有效

我不确定我是否只是没有看到它,或者它不明显,但有没有办法让解析的JavascriptSDKREST API将验证电子邮件重新发送到特定的用户名/电子邮件,该用户名/电子邮件已注册,但由于任何原因未收到电子邮件?

我在几年前以及目前为止都遇到过这个问题我记得没有办法通过Parse SDK直接重新发送验证电子邮件。首先填充或更新电子邮件字段时,会自动触发电子邮件验证

作为一种解决方法,我实现了一个云函数来覆盖电子邮件字段以触发重新发送。该函数将原始电子邮件地址值存储在临时变量中,然后用随机生成的有效电子邮件地址替换电子邮件字段,然后立即用原始电子邮件地址重新填充该字段。这用于从解析服务器触发电子邮件重新发送

代码是这样的:

var user=request.user;
var email=user.get(“电子邮件”);
var randomMail=”objectID@domain.com"; //// 随机但有效的电子邮件地址
user.set(“电子邮件”,随机邮件);//填充字段
save(null,{useMasterKey:true})。然后(函数(user){
//该字段已更新,请重新恢复原始电子邮件地址
用户设置(“电子邮件”,电子邮件);
返回user.save(null,{useMasterKey:true});
}).then(功能(用户){
回答:success();
},函数(错误){
响应。错误(error);
});

Swift 5和iOS

对于任何仍在调查此事的人。我正在使用此代码让服务器重新发送电子邮件验证

下面的代码作为名为verificationEmailRequest的函数放在我的用户类中,但您可以将其放在需要获取电子邮件地址的任何位置

   let json: [String: Any] = ["email": "<email address here>"]
   let jsonData = try? JSONSerialization.data(withJSONObject: json)
    
   // create post request
   let url = URL(string: "\(Parse.currentConfiguration?.server ?? "")verificationEmailRequest")! //PUT Your URL
   var request = URLRequest(url: url)
   request.httpMethod = "POST"
   request.setValue("\(String(describing: jsonData?.count))", forHTTPHeaderField: "Content-Length")
   request.setValue("application/json", forHTTPHeaderField: "Content-Type")
   request.setValue(Parse.currentConfiguration?.applicationId, forHTTPHeaderField: "X-Parse-Application-Id")
   request.setValue(Parse.currentConfiguration?.clientKey, forHTTPHeaderField: "X-Parse-Client-Key")
   // insert json data to the request
   request.httpBody = jsonData
    
   let task = URLSession.shared.dataTask(with: request) { data, response, error in
    guard let data = data, error == nil else {
        print("error here: \(error?.localizedDescription ?? "No data")")
        return
    }
    
    let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
    if let responseJSON = responseJSON as? [String: Any] {
        print("successful response: \(responseJSON)") //Code after Successfull POST Request
        
    }
 }
 
 task.resume()
                    
let json:[String:Any]=[“email”:“]
让jsonData=试试?JSONSerialization.data(带jsonObject:json)
//创建post请求
让url=url(字符串:“\(Parse.currentConfiguration?.server??”)verificationEmailRequest“)//把你的网址
var-request=URLRequest(url:url)
request.httpMethod=“POST”
request.setValue(\(字符串(描述:jsonData?.count)),用于HttpHeaderField:“内容长度”)
request.setValue(“application/json”,forHTTPHeaderField:“Content Type”)
request.setValue(Parse.currentConfiguration?.applicationId,forHTTPHeaderField:“X-Parse-Application-Id”)
request.setValue(Parse.currentConfiguration?.clientKey,forHTTPHeaderField:“X-Parse-Client-Key”)
//向请求中插入json数据
request.httpBody=jsonData
让task=URLSession.shared.dataTask(with:request){data,response,中的错误
保护let数据=数据,错误==nil else{
打印(“此处错误:\(错误?.localizedDescription??“无数据”))
返回
}
让responseJSON=try?JSONSerialization.jsonObject(带:数据,选项:[]))
如果让responseJSON=responseJSON as?[字符串:Any]{
打印(“成功响应:\(responseJSON)”//成功POST请求后的代码
}
}
task.resume()
此代码使用来自发送验证邮件的解析服务器的RESTAPI。(见附件)

重要的是要注意,我正在使用Parse.currentConfiguration进行身份验证,这是免费提供的,并且无论如何都需要使用Swift设置Parse。它通常放在场景中


我目前不知道这样做是否存在安全风险,因为我找不到Parse尚未实现此功能的任何原因。

即使在今天,我也无法在Parse server中找到用于重新发送验证电子邮件的内置功能:(