【问题标题】:Authentication without a username and a password无需用户名和密码的身份验证
【发布时间】:2009-06-07 06:39:36
【问题描述】:

我正在开发一个连接到 facebook 的 AIR 应用程序。用户连接到他的 Facebook 帐户后,他应该能够对与他登录的 Facebook 帐户关联的帐户进行操作。

通常,您将拥有一个 login() 函数,该函数接受用户名和密码,对其进行身份验证并设置 cookie。就我而言,用户登录 facebook 后我所拥有的只是他的 facebook 用户 ID,我该如何根据它对用户进行身份验证?

谢谢,

【问题讨论】:

    标签: php authentication air facebook


    【解决方案1】:

    如果您让用户通过他们的 Facebook 帐户登录,那么您实际上不再进行身份验证,现在 Facebook 正在处理身份验证,您只需将其链接到 Facebook 为您提供的帐户。据我所知,这就是重点。

    编辑:

    是的,但是假设我使用了 login(FBuid) 之类的功能,后端如何检查用户是否实际使用 FB 登录并经过身份验证?

    如果您设置正确,API 将连接到 Facebook,然后他们的脚本将检查该用户是否已经登录(即他们有一个活动会话,这由有效的 Facebook 会话 cookie 确认)。如果他们没有活动会话,那么它会要求他们登录到他们的帐户并向您返回 Facebook 用户 ID。如果他们确实有一个活动会话,他们只会将 Facebook 用户 ID 返回给您,而无需向用户询问任何内容。您收到的 Facebook 用户 ID 是您对他们已通过身份验证的确认。

    【讨论】:

    • 是的,但是说我使用了login(FBuid)之类的功能,后端如何检查用户是否实际使用FB登录并经过身份验证?
    • Gerry:感谢您跟进这个问题。连接到 Facebook 不是问题,问题出在我的服务器上。当应用程序向我的服务器发送请求时,服务器如何知道他实际上已登录?我需要告诉我的服务器该用户已连接到 Facebook,并且可以使用与他的 Facebook 帐户关联的帐户。这就是我遇到问题的地方。
    • 您的服务器是否应该在 facebook 上“代表”用户行事?
    • 哦,我想我明白你在说什么了......你通过你的 Air 应用程序直接连接到 FB,而不是使用你的服务器进行交易。我认为您不想这样做,因为您的服务器需要信任数据源。它可以信任 FB 返回正确的 ID,但不能信任用户。我相信您应该这样做的方式是让 Air 应用程序仅连接到您的服务器,让您的服务器直接连接到 FB 并将您的帐户连接到关联的 FB 帐户。然后它会向您的 Air 应用返回一个会话 ID。
    • 实际上,我的服务器现在除了跟踪与每个用户关联的帐户以及谁是谁的朋友之外,什么都不做。真的,这就是应用程序的全部内容!所有通信都是从 AIR 应用程序(与 FB 和其他网站)完成的。我想我明白你的想法,我只是不确定..你能解释一下吗?再次感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2017-07-31
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多