swift - 如何快速检查 Facebook 的首次登录?

标签 swift facebook facebook-graph-api swift3

我想检查 Facebook 的首次登录,这样我可以提供 2 个选项: 1. 如果是第一次登录,则发送到身份验证步骤 2,其中需要添加额外的详细信息。 2. 选项2,如果用户使用Facebook登录已经被发送到主页。

我正在使用 firebase,我知道如何记录它们,但这部分我无法弄清楚。我正在使用这个工作正常的函数,只是将它们发送到正确的 viewController 的部分给我带来了麻烦:

func loginWithFacebookAction() {
    print("Login with Facebook clicked")

    FBSDKLoginManager().logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self) { (result, err) in
        if err != nil {
            print("FB login failed", err as Any)
        } else if (result?.isCancelled)! {
            print("The user cancelled loggin in")
            self.segueProgramaticWithPresent(viewController: LoginController())
        } else {

            if (FBSDKAccessToken.current() != nil) {
                print("Go to main page")
                self.facebookRequestUserDetails()
                self.segueToAnotherView(storyboard: "Main", identifier: "SWRevealViewController")
            } else {
                print("Go to Step 2 - add more details")
                self.segueProgramaticWithPresent(viewController: CreateAccountST2())
            }

        }

我正在使用 FacebokToken 进行检查,但当用户单击按钮时,它将始终返回 true。

最佳答案

  1. 将注册的 Facebook 用户及其 facebook_id 存储在 服务器端数据库。
  2. 然后,当用户使用 facebook 成功登录时,您将得到 使用 FBSDKAccessToken.current() 获取 access_token 并将其发送至 您的服务器端 API,
  3. 在服务器端使用该 access_token 向图形 API 发出请求,并且 获取facebookuser_id

    https://graph.facebook.com/me?access_token= {accesstoken} 其中 仅返回一个包含 id 字段的 json。

  4. 当您获得 facebookuser_id 后,您就可以检查用户是否 您的数据库中已存在。
  5. 如果不存在,则创建一个新用户并使用以下代码进行响应 说“嘿,这是一个新用户,所以你应该从 她/他”
  6. 如果已存在,则返回用户。

关于swift - 如何快速检查 Facebook 的首次登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45117481/

相关文章:

ios - Swift:线程 1 信号 SIGABRT

swift - Swift 中的字符串格式可选参数

swift - 如何在崩溃报告中留言

ios - 无限 session 与 facebook ios sdk FBLoginView

node.js - 如何同时发送卡片轮播和快速回复?

ruby-on-rails - 尝试使用 Koala 进行 fb apprequest,但访问 token 已过期。我该如何处理?

swift - 二元运算符 '+' 不能应用于类型 'String' 和 '() -> String' 的操作数

javascript - Facebook 粉丝页面之类的按钮有回调吗?

javascript - facebook graph api 中的节点 ID 是什么,我如何找到它?

android - 如何使用 Graph API 或 FQL 检索 Facebook 个人资料图片评论