gpt4 book ai didi

javascript - 关于如何为我的网络应用程序使用 Google 登录的清晰示例/文档

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:19:28 26 4
gpt4 key购买 nike

我维护着一个用 C++ 和 javascript 编写的旧网络应用程序。我被要求添加 Facebook、Google 和 Twitter 登录验证。

Facebook 位进展顺利。我在 Facebook 的开发者网站上找到了一些简单的 javascript 代码 http://developers.facebook.com/docs/reference/javascript/我添加到我的登录页面。然后我更改了 C++ 登录 cgi 程序以识别来自 Facebook 的回调,并使用他们的电子邮件地址(已保存在文件中)登录用户。

我坚持使用 Google 位。起初我在谷歌网站上翻来覆去,但找不到任何简单的例子。我被定向到 libopkele C++ 库,但我找不到任何关于如何使用它的说明(我怀疑这不是我需要的)。然后我发现了一个叫做 Google Friend Connect 的东西 http://code.google.com/apis/friendconnect/docs/code.html (不幸的是,它表示它已贬值)。其中包含一个很好的 javascript 示例,我将其放入了我的网站。它提供了一个显示“登录”的按钮,当您单击它时,它会弹出一个窗口,询问您的电子邮件地址。你填写地址,它说“连接到你的IDP”,然后“重定向到你的IDP”,然后我的登录后页面出现在弹出窗口中。

显然我不希望这样 - 我希望它出现在他们单击“登录”按钮的原始窗口中。

这是登录页面中的 javascript:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/googleapis/0.0.4/googleapis.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/jsapi"></script>
<script type="text/javascript">
google.load("identitytoolkit", "1", {packages: ["ac"], language:"en"});
</script>
<script type="text/javascript">
$(function() {
window.google.identitytoolkit.setConfig({
developerKey: "<I put my developer key here>",
companyName: "<I put my company name here>",
callbackUrl: "http://www.mywebsite.com/cgi-bin/login.cgi",
realm: "",
userStatusUrl: "http://http://www.mywebsite.com/cgi-bin/loginstatus.cgi",
loginUrl: "http://http://www.mywebsite.com/cgi-bin/login.cgi",
signupUrl: "http://http://www.mywebsite.com/cgi-bin/login.cgi",
homeUrl: "http://www.mywebsite.com",
logoutUrl: "http://http://www.mywebsite.com/cgi-bin/logout.cgi",
idps: ["Gmail", "GoogleApps", "Yahoo"],
tryFederatedFirst: true,
useCachedUserStatus: false
});
$("#navbar").accountChooser();
});
</script>
<div id="navbar"></div>

我发现我的 userStatusUrl 从未被调用过。调用了 callbackUrl,但我不确定从中返回什么。似乎我返回的内容只是显示在页面上。我在某处看到一个传递引用,返回一个包含 {"registered": true} 的 json 项,但这也不起作用(这是我从我的 cgi 脚本返回的确切文本):

Content-Type: application/json
Content-Length: 20

{"registered" : true}

任何帮助,或指向一个很好的简单实现的指针表示赞赏。 (使用外部库的 PHP 脚本不会有太大帮助!)

最佳答案

您是否研究过 Google 的 OpenID?

Third-party websites and applications can now let visitors sign in using their Google user accounts. Federated Login, based on the OpenID standard, frees users from having to set up separate login accounts for different web sites--and frees web site developers from the task of implementing login authentication measures. OpenID achieves this goal by providing a framework in which users can establish an account with an OpenID provider, such as Google, and use that account to sign into any web site that accepts OpenIDs. This page describes how to integrate Google's Federated Login for a web site or application.

https://developers.google.com/accounts/docs/OpenID

关于javascript - 关于如何为我的网络应用程序使用 Google 登录的清晰示例/文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9114463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com