如何在swift中查看第一次使用Facebook登录?

时间:2017-07-15 11:09:08

标签: 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 个答案:

答案 0 :(得分:0)

  1. 将已注册的Facebook用户的facebook_id存储在a上 服务器端数据库。
  2. 然后,当用户使用Facebook成功登录时,您将获得 access_token与FBSDKAccessToken.current()并发送给 你的服务器端api,
  3. 在服务器端请求图表api,access_token和 得到facebookuser_id

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

  4. 当您获得facebookuser_id时,您可以检查是否是用户 已存在于您的数据库中。
  5. 如果不存在,请使用代码创建新用户和响应 说“嘿,这是一个新用户,所以你应该从中得到额外的细节 她/他“
  6. 如果已存在则返回用户。