【问题标题】:Logout from Facebook after a share with Facebook iOS SDK与 Facebook iOS SDK 共享后从 Facebook 注销
【发布时间】:2014-08-20 12:15:29
【问题描述】:

我正在构建一个 iPad 应用程序,用户可以在其中将图像发布到他/她的时间轴。 这些 iPad 是可租用的,因此用户应在共享完成后退出。

我已经实现了 iOS Facebook 登录,所以用户被重定向到 Safari 登录。共享后,我清理了所有令牌,并且在我的应用程序中会话被破坏,但是当我之后去 Safari 时,用户仍然登录。

有没有办法确保用户在任何地方都注销?

亲切的问候, 弗雷德里克

【问题讨论】:

    标签: ios facebook facebook-sdk-3.1


    【解决方案1】:

    我过去做过类似的事情。 这是一个流程,任何持有 iPad 的用户都使用他或她的 FB 凭据登录,强制 sdk 呈现 web 视图。

    快速浏览一下,这是我为它编写的代码: (此代码已有 1.5 年的历史)

     FBSession *newSession = [[FBSession alloc] initWithPermissions:@[
                                 @"user_about_me",
                                 @"publish_actions",
                                 @"user_birthday",
                                 @"friends_birthday",
                                 @"email"
                                ]];
    
    
        [FBSession setActiveSession:newSession];
    
        [[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
    
            [FBSession setActiveSession:session];
    
            if(error){
                NSLog(@"Error opening session");
                [self showLoginError:error];
                return;
            }
    
            if(status == FBSessionStateOpen){
                NSLog(@"FB session opened");
                [self getMe];
            }
        }];
    

    当流程结束,或者用户取消流程时,我将用户注销如下:

    [[FBSession activeSession] closeAndClearTokenInformation];    
    [FBSession setActiveSession:nil];
    

    更新: 分享对话框的代码:

    NSMutableDictionary *dialogParameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                       [NSString stringWithFormat:@"%@ - Vote for us!", 
                                       teamName, @"name",
                                       @"Campaign title", @"caption",
                                       shareMessage, @"description",
                                       shareTeamPageURL, @"link",
                                       sharePictureURL, @"picture", nil];
    
    
        [FBWebDialogs presentFeedDialogModallyWithSession:[FBSession activeSession] 
        parameters:dialogParameters 
        handler:nil];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-19
      • 2015-08-30
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 2017-05-02
      • 2011-09-07
      • 1970-01-01
      相关资源
      最近更新 更多