即使对于经过身份验证的电子邮件,也可以通

时间:2013-05-01 15:19:41

标签: openid browserid

我想在我最近的项目中尝试Mozilla Persona,但发现了一个不愉快的功能。

我在navigator.id.watch中硬编码了电子邮件地址,如下所示:

navigator.id.watch({
    loggedInUser: "vansanblch@gmail.com",
    onlogin: function () {
        console.log("onlogin");
    },
    onlogout: function () {
        console.log("onlogout");
    },
});

然后我拨打navigator.id.request()并输入我的凭据以通过身份验证。在开发人员API(about navigator.id.watch)中,据说如果loggedInUser等于 来自Persona的状态然后将不会调用回调。

但是为什么我每次拨打navigator.id.request()时都会在控制台中显示“onlogin”消息?

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为你找到了Persona没有处理的角落案例。糟糕。

当您这样做时,Persona团队需要坐下来弄清楚应该发生什么。我提交了一个错误来跟踪讨论:https://github.com/mozilla/browserid/issues/3332

如果您能够了解您认为正确的行为应该是什么,以及原因,我会感激不尽。

对于上下文,Persona最初仅使用loggedInUser来确定在页面加载期间自动调用哪些回调。在那之后,它或多或少被忽略了。这就是为什么您看到onlogin的呼叫,即使所选身份与当前身份匹配。