html - 如何使用 HTML 在 Windows Phone 8 的 Azure 移动服务上对用户进行身份验证?

标签 html windows-phone-8 azure-mobile-services

我正在试验 azure 移动服务并已实现身份验证示例 here .这适用于大多数设备(台式机上的 iO、IE9 和 chrome、IE10 Surface RT、android),但在 WP8 设备(准确地说是诺基亚 920)上它返回

“无法访问窗口开启器。它可能位于不同的 Internet Explorer 区域”

尝试从身份验证提供程序弹出窗口返回后。上面的链接中简要提到了这一点,但仅涉及从本地主机连接到服务。这里不是这种情况,其他设备工作正常。它似乎不是任何特定身份验证提供程序的问题 - 所有(facebook、google、twitter、windows connect)都返回相同的消息。当这些其他设备正常工作时,服务似乎不太可能配置错误,但很可能我遗漏了一些微妙的东西。

最佳答案

我使身份验证起作用的方法不是使用 Facebook JavaScript SDK,而是使用另一个流程,此处描述 https://developers.facebook.com/docs/facebook-login/login-flow-for-web-no-jssdk/#step2

为了处理从 Facebook 返回的重定向时的响应,我使用了以下代码:

function handleLoginResponse() {
    var frag = $.deparam.fragment();
    if (frag.hasOwnProperty("access_token")) {
        client.login("facebook", { access_token: frag.access_token }).then(
        function () {
            // do your thing when logged in
        }, function (error) {
            alert(error);
        });
    }
}

此代码使用 jQuery BBQ 插件,可在此处找到 http://benalman.com/projects/jquery-bbq-plugin/ .

这样我就可以让 Facebook 授权在 WP8 上工作,并且我可以将访问 token 传递给移动服务登录。

一个小问题是现在访问 token 粘在我的站点 URL 中,我认为如果用户决定共享 URL,这就是一个问题。我想我可以通过例如解决这个问题将信息放在 cookie(或本地存储)中,然后重定向到我网站的纯 URL。

关于html - 如何使用 HTML 在 Windows Phone 8 的 Azure 移动服务上对用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16293341/

相关文章:

c# - Windows Phone 8 中的 PCLStorage

Azure 移动服务 - Socket.IO 集成

javascript - HTML5 FileList 和 JQuery 各自

c# - Windows Phone 8.1 应用构建中缺少 WMAppManifest.xml

javascript - jQuery 选择器选择每个字母的第一个元素

windows-phone-8 - 添加辅助 Windows Phone 8 磁贴

Azure 移动服务与 Azure 通知中心 - 哪个用于推送通知?

c# - Nuget版本不匹配错误出现两种解决方案

javascript - 看div里面有没有form

javascript - 使用 addEventListener 或 onclick 调用时函数不起作用,不显示任何错误消息