如何将launchmyapp与Meteor一起用于验证电子邮件链接



我正在使用Meteoric软件包在我的流星应用程序上运行ionic。我想用https://github.com/EddyVerbruggen/Custom-URL-scheme(nl.x-services.plugins.launchmyapp插件)。事实上,我正在使用它,但它工作不正常。

我正在尝试使用这个插件从URL深度链接到我的应用程序。现在我只是想让它与验证电子邮件链接一起工作。我点击链接,它会带我进入应用程序,但它总是希望我先登录。

正在发送的链接如下所示。

myappname://verify-email/longtokenidhere1212332

如果我点击这个,我的应用程序会启动,但它总是要求用户登录凭据,而不是验证电子邮件地址。

更新1:

我几乎做到了。我添加了handleOpenURL作为全局函数,如下

Meteor.startup(function() {
handleOpenURL = function handleOpenURL(url) {
var token = url.replace("myappname://verify-email/", "");
console.log("Token: " + token);
Router.go('/verify-email/', {"paramToken": token});
}
});

现在我确实看到了令牌打印到控制台。

但当它路由时,我会得到一个未找到路由的页面。我如何从控制台打印当前URL,以查看我是否获得了正确的完整URL路径?我试过窗户。URL,但它打印URLConstructor()对象。

"/verify email"不是一条铁路由器路由;它被烤成了流星。

因此,您可以从客户端调用Accounts.verifyEmail,而不是Router.go(),如下所示:

Meteor.startup(function() {
handleOpenURL = function handleOpenURL(url) {
var token = url.replace("myappname://verify-email/", "");
console.log("Token: " + token);
// mark this client's email as verified by using the token
Accounts.verifyEmail(token, 
function(error){
if (error) {
console.log("email not verified");
} else {
console.log("email verified successfully!");
}
}
);
}
});

最新更新