【问题标题】:How can I use launchmyapp with Meteor for the verify-email link?如何使用带有 Meteor 的 launchmyapp 作为验证电子邮件链接?
【发布时间】:2016-05-04 01:46:47
【问题描述】:

我正在使用 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 路径?我尝试了 window.URL,但它打印了 URLConstructor() 对象。

【问题讨论】:

    标签: cordova meteor phonegap-plugins custom-url


    【解决方案1】:

    "/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!");
                   }
                }
            );
        }
    });
    

    【讨论】:

    • 谢谢。我一定会试一试的。
    猜你喜欢
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多