使用Facebook或Google登录API与经典ASP

时间:2015-09-20 03:30:12

标签: facebook facebook-graph-api google-api google-api-java-client google-api-client

我正在运行经典ASP网站,该网站拥有自己的用户身份验证和登录机制。例如,为了记住登录用户,ASP为每个连接的用户创建一个加密的cookie和一个20分钟的会话。如果20分钟会话结束,服务器将从之前保存的cookie中恢复会话,并将有关用户的一些数据保存到数据库中。

我希望能够允许用户连接他们的Facebook或Google身份,但Facebook或Google使用的机制主要基于Javascript和客户端代码。

  1. 如何在ASP中维护服务器端代码时使用Facebook或Google登录? (这样ASP服务器仍然可以管理会话并保存有关它的数据,例如每当会话恢复时)

  2. 对于我来说,似乎使用客户端身份验证可能会变得不那么安全,因为代码可能很容易被更改。不是这样的吗?

  3. 如果我使用客户端javascript并使用Facebook登录,我如何将从Facebook检索到的用户数据更新回我的数据库,例如用户的名字和姓氏?

  4. 对我而言,它听起来应该是一个服务器到服务器"沟通(在我的ASP服务器和Facebook或谷歌的服务器之间),他们建议的是一个"客户端到服务器"沟通......任何想法如何做到这一点?

  5. 非常感谢任何帮助或解释!感谢。

1 个答案:

答案 0 :(得分:2)

我会尝试逐一解决与Facebook相关的问题。但是,我不会给你一个实现或任何ASP特定的反馈,但只是一个粗略的方法。此外,我建议您广泛学习Facebook documentation on Facebook Login以进一步了解此事。

1. Facebook在其Manually Build a Login Flow指南中记录了服务器端OAuth 2.0流程。基本上,您将用户重定向到特定的FB URL(在参数中)告诉FB呈现"使用Facebook登录"对话框,以及要求的权限范围。一旦用户批准您的网络应用程序的Facebook登录,他们将被重定向回您的网络应用程序,例如在查询字符串中使用OAuth令牌,您的网络服务器可以交换用户访问令牌 获得用户访问令牌后,您可以例如将其存储在您的网络应用用户的会话中。

2。我不知道你的意思。客户端应用程序相当安全。也许你可以在阅读CORS等内容时说服自己有关JS应用程序的安全性。

3。如果您只使用JavaScript(例如Facebook JS SDK)并且您想存储例如服务器上的应用程序范围的用户ID,您需要在服务器上公开您的JS应用程序可以提交此类信息的端点。

4. 你陈述

  

他们建议的是"客户端到服务器"通信

谁是"他们",在哪里提出这个?我在 1。中链接的资源应该说明如何以纯服务器到服务器的方式使用Facebook登录。