如何在swift中检查首次登录Facebook?

如何在swift中检查首次登录Facebook?,swift,facebook,facebook-graph-api,swift3,Swift,Facebook,Facebook Graph Api,Swift3,我想检查Facebook的首次登录,这样我可以提供两个选项: 1.如果是第一次登录,发送到身份验证步骤2中,他们需要添加额外的详细信息。 2.选项2,如果用户使用Facebook登录后已被发送到主页 我正在使用firebase,我知道如何记录它们,但这部分我无法理解。我使用的这个功能工作正常,只是将它们发送到右viewController的部分给我带来了麻烦: func loginWithFacebookAction() { print("Login with Facebook clic

我想检查Facebook的首次登录,这样我可以提供两个选项: 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

  • 将注册的facebook用户及其
    facebook\u id
    存储在 服务器端数据库
  • 然后,当用户成功登录facebook时,您将获得 使用
    FBSDKAccessToken.current()
    访问令牌并将其发送到 您的服务器端api
  • 在服务器端使用该
    访问\u令牌请求graph api
    获取
    facebook用户id

    {accesstoken}哪个 只返回包含
    id
    字段的json

  • 当您获得
    facebookuser\u id
    时,您可以检查用户 已存在于您的数据库中
  • 如果不存在,则创建一个新用户,并使用 说“嘿,这是一个新用户,所以你应该从 她/他”
  • 如果已经存在,请返回用户