我如何将 launchmyapp 与 Meteor 一起用于验证电子邮件 link?
How can I use launchmyapp with Meteor for the verify-email link?
我在我的 meteor 应用程序上使用 Meteoric 包 运行 ionic。我想在我的应用程序中使用 https://github.com/EddyVerbruggen/Custom-URL-scheme(nl.x-services.plugins.launchmyapp 插件)。其实我也在用,但是效果不佳
我正在尝试使用此插件从 URL 深入 link 我的应用程序。现在我只是想让它与验证电子邮件一起工作 link。我单击 link,它会将我带到应用程序,但它总是要我先登录。
正在发送的 link 看起来像这样。
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 路径?我尝试了 window.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!");
}
}
);
}
});
我在我的 meteor 应用程序上使用 Meteoric 包 运行 ionic。我想在我的应用程序中使用 https://github.com/EddyVerbruggen/Custom-URL-scheme(nl.x-services.plugins.launchmyapp 插件)。其实我也在用,但是效果不佳
我正在尝试使用此插件从 URL 深入 link 我的应用程序。现在我只是想让它与验证电子邮件一起工作 link。我单击 link,它会将我带到应用程序,但它总是要我先登录。
正在发送的 link 看起来像这样。
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 路径?我尝试了 window.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!");
}
}
);
}
});