Вызов функции выхода из Facebook IOS SDK не очищает учетные данные пользователя - PullRequest
4 голосов
/ 20 мая 2011

При реализации единого входа в Facebook вызов функции выхода из Facebook ios sdk не приводит к удалению учетных данных пользователя и не запрашивает вход в следующий раз.

Ответы [ 2 ]

9 голосов
/ 20 мая 2011

Я использовал Graph Api .....

- (IBAction)loginButtonPressed:(id)sender {

    NSString *client_id = @"dsfgdgfgfgdfgvdfg";

    //alloc and initalize our FbGraph instance
    self.fbGraph = [[FbGraph alloc] initWithFbClientID:client_id];

    //begin the authentication process.....
    [fbGraph authenticateUserWithCallbackObject:self andSelector:@selector(fbGraphCallback:) 
                         andExtendedPermissions:@"user_photos,user_videos,publish_stream,offline_access,user_checkins,friends_checkins"];
}


- (void)logOutButtonPressed {

    NSLog(@"logout");

    fbGraph.accessToken = nil;
    NSHTTPCookie *cookie;
    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (cookie in [storage cookies])
    {
        NSString* domainName = [cookie domain];
        NSRange domainRange = [domainName rangeOfString:@"facebook"];
        if(domainRange.length > 0)
        {
            [storage deleteCookie:cookie];
        }
    }

    [self loginButtonPressed:nil];
}

И этот код РАБОТАЕТ ТОЧНО ... ПОПРОБУЙ ЭТОТ

0 голосов
/ 20 мая 2011

Я испытал то же самое, однако я думаю, что это не ошибка, хотя и сбивает с толку.

Facebook помещает в мобильное сафари файл cookie, который ссылается на действительный сеанс или, возможно, маркер доступа.Если вы выходите из Facebook с помощью библиотеки lib, она очищает токен доступа и все файлы cookie веб-просмотра, которые не используются в мобильном сафари.На самом деле вы не можете сделать это с помощью кода.Теперь, если вы вернетесь, и мобильное сафари откроется, сеанс по-прежнему будет действительным, и вы снова войдете в систему без ввода учетных данных.

Вы можете отправить сообщение об ошибке, чтобы спросить, может ли Facebook аннулировать серверную часть маркера доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...