4

当我在网页开头使用这样的代码时

    WL.init({
      client_id: "0000000040102460",
      redirect_uri: document.URL,
      scope: "wl.signin",
      response_type: "token"
    });
    WL.login().then(
      function (response) {
        WL.api({ path: "me", method: "GET" })
          .then(function (response) {
            userid = response.id;
            $("#wlProfileName").text(response.name);
            init(response);
          });
      });

登录过程发生在一个弹出窗口中。这是一个坏主意,尤其是因为许多浏览器都被配置为禁止它们。

当您登录到例如outlook.com 时,该过程发生在同一浏览器窗口中。我该如何实现呢?


对这个问题的支持加上完全没有答案是相当令人震惊的。但是,我确实有一个想法:WL.debug.js 可供检查。有可能破解它以使用 IFRAME 而不是弹出窗口。

这应该可以在不改变 WL 代码的基本方法和流程的情况下解决问题。

现在我即将离开几个星期的假期,我没有设施来追求这个想法,但如果有人想对上述修改有所了解,我很乐意在我回来时加入。

4

1 回答 1

0

试试这个 php 示例。转到http://www.microsoft.com/en-us/download/details.aspx?id=7843,点击下载按钮,选择webauth-php-1.2.tar.gz并下载。然后解压后放内容到xampp/htdocs您的电脑上并http://localhost/webauth/sample/index.php从您的浏览器调用地​​址。

于 2014-09-13T09:12:44.107 回答