В чем разница между revokeAccessAndDisconnect и отключением с помощью Google+?

Я хочу выяснить разницу между методами revokeAccessAndDisconnect и disconnect из объекта PlusClient Google+.

Из документация гласит, что revokeAccessAndDisconnect будет:

Revokes access given to the current application. 

и слушатель заявляет, что:

The PlusClient.OnAccessRevokedListener to receive a callback when the token is revoked.

Но я заметил, что даже когда я использую метод простого отключения, я все равно получаю новый токен каждый раз, когда я вызываю метод getToken.

Так в чем же разница между этими двумя?

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


person Emil Adz    schedule 29.12.2013    source источник
comment
Отменить доступ делает именно это, он отменяет доступ к вашему приложению. В следующий раз, когда пользователь войдет в систему, ему будет предоставлено разрешение вашего приложения G+, и ему нужно будет принять его снова. Отключение — это то же самое, что и выход из вашего приложения, оно просто закрывает сеанс.   -  person spezzino    schedule 29.12.2013
comment
но даже если использовать простое отключение... будет ли он каждый раз создавать новый токен?   -  person Emil Adz    schedule 29.12.2013
comment
Каждый раз, когда вы отправляете пользователя через аутентификацию, он будет генерировать новый токен независимо от того, отзовете ли вы его или отключите сначала.   -  person abraham    schedule 29.12.2013
comment
@abraham, так что, если я использую метод подключения, разрешаю диалоговое окно выбора пользователя, а затем снова выполняю подключение, я в основном аутентифицируюсь?   -  person Emil Adz    schedule 29.12.2013
comment
Остерегайтесь сервисов Google Plus 6.5. Использование инвертировано, используйте Plus.AccountApi.revokeAccessAndDisconnect(mGoogleApiClient)   -  person Wooff    schedule 12.01.2015


Ответы (1)


Основная идея такова:

Когда пользователь выходит из вашего приложения, Google не ожидает, что вы откажетесь от всей имеющейся у вас информации о нем. Точно так же, как когда вы выходите из веб-сайта, вы всегда можете войти снова. Я считаю, что эта функция позволяет вам поддерживать несколько учетных записей Google пользователя. Это позволит пользователю выйти из своей одной учетной записи Google, войти в другую учетную запись и продолжить использовать ваше приложение. В свете этого я полагаю, что вы все еще можете сохранить информацию, необходимую для того, чтобы пользователь мог войти в систему с профилем, который они узнают (поскольку вы можете вспомнить их данные).

В качестве альтернативы, когда пользователь отключает свою учетную запись, ожидается, что вы очистите всю имеющуюся у вас информацию об этом пользователе как на вашем сервере, так и на устройстве. В этом случае пользователь фактически удаляет свою учетную запись вместе с вами и отменяет все свои разрешения. В этой ситуации, когда они пытаются снова войти в систему, им должен быть представлен экран входа по умолчанию «Введите адрес электронной почты, пароль» и т. д.

В iOS платформа Google вызывает метод didDisconnectWithError: только после отключения пользователя, а не после выхода из системы.

Вы можете прочитать этот сообщение и ознакомиться с политиками Google в отношении обработка отключения

person Daniel Galasko    schedule 04.07.2014