0

我运行一个经典的ASP网站,有它自己的用户身份验证和登录机制。例如,为了记住登录的用户,ASP为每个连接的用户创建一个加密的cookie和一个20分钟的会话。如果20分钟会话已过,服务器将从先前保存的cookie恢复会话,并将一些关于用户的数据保存到数据库中。使用Facebook或谷歌登录API与传统的ASP

我希望能够允许用户使用自己的Facebook或谷歌的身份进行连接,而是通过Facebook或谷歌使用的机制主要是基于JavaScript和客户端代码。

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

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

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

  4. 对我来说,它听起来应该是一个“服务器到服务器”的通信(在我的ASP服务器和Facebook或Google的服务器之间),他们提出的是“客户端到服务器”的通信。任何想法如何做到这一点?

任何帮助或解释将非常感激!谢谢。

+0

我的问题出了什么问题?为什么我问-1呢? –

回答

2

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

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

2.我不知道你的意思。客户端应用程序相当安全。也许你可以说服自己在阅读诸如CORS之类的东西时,JS应用程序的安全性如何。

3.如果您只使用JavaScript(例如:Facebook的JS SDK),并且您想存储例如您的服务器上的应用程序范围的用户标识,您需要公开服务器上的一个端点,以便您的JS应用程序可以向其提交该类信息。

4。幽州

他们提出了什么是“客户端 - 服务器”通信

谁是“他们”,和哪里的建议呢?我在1.链接到的资源应解释如何以纯服务器到服务器的方式使用Facebook登录。

+0

谢谢。这有帮助! –