Как выйти из системы в Google Drive iOS API?


Я использую руководство Google для интеграции функций диска в мое собственное приложение, но я не могу найти способ, который позволит мне выйти из моего аккаунта google из приложения.

Есть ли что-нибудь, что я могу вызвать для выхода из системы, или я должен оставаться в системе, пока не удалю приложение?

3 2

3 ответа:

Сделав еще несколько попыток, я, возможно, нашел решение:

В viewDidLoad служба API диска инициализируется следующим образом (взято из вышеупомянутого руководства):

// Initialize the Drive API service & load existing credentials from the keychain if available.
self.service = [[GTLServiceDrive alloc] init];
self.service.authorizer =
[GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName
                                                      clientID:kClientID
                                                  clientSecret:nil];

Итак, чтобы выйти из системы, достаточно удалить авторизацию из Связки ключей:

[GTMOAuth2ViewControllerTouch removeAuthFromKeychainForName:kKeychainItemName];

Я только что попробовал это, и, кажется, это работает. После этого вызова, если я попытаюсь вернуться в представление, мне снова предложат ввести свои учетные данные.

Я предполагаю, что очистка печенья сделает это. Например:

NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies]) {
    [storage deleteCookie:cookie];
}

Ссылка На Класс NSHTTPCookieStorage

Это работает для меня с Swift 2.2:

GTMOAuth2ViewControllerTouch.removeAuthFromKeychainForName(kKeychainItemName)