2015-01-01 2 views
0

Здравствуйте, я работаю с OAuth, чтобы проверить конец в Android, поэтому для этого я создал проект в Google API Console, там я создал идентификатор клиента для веб-приложений и приложений Android.Нужно ли генерировать идентификатор токена каждый раз перед вызовом webservice

Это я делаю из-за того, чтобы сделать систему более безопасной, чтобы никто хакеру не ударил мой веб-сервис так или иначе, если кто-нибудь делает, то сервер аутентификации отправляет ответ (Invalid Token).

Для этого процесса в android я должен сгенерировать токен. У библиотеки Google Play есть метод.

public static String getToken (Context context, String accountName, String scope) 

http://developer.android.com/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getToken(android.content.Context,%20java.lang.String,%20java.lang.String)

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

Похоже, что это не лучший подход. Что у вас есть на это предложение?

Заранее спасибо.

ответ

1

Я думаю, что лучший подход - сначала проверить код клиента, если токен истек. Если это не так, то не создавайте новый токен, просто вызовите веб-службу непосредственно с уже имеющимся маркером. И если это истекло, тогда сначала получите новый токен, а затем вызовите веб-службу. Таким образом, вы будете делать 2 удаленных вызова только в том случае, если ваш токен действительно истек, т. Е. Когда вам действительно нужно его обновить.

Для реализации этой стратегии все, что вам нужно запомнить (в вашем коде):
1) дата и время, когда вы сгенерировали токен; 2) его продолжительность.

+0

Как узнать, когда истечет срок действия этого токена? Как мне получить время, после которого оно истечет? –

+0

@Williams Я думаю, что это должно быть в документах API генерации токенов. Или ... должен быть другой метод в API генерации маркера, предоставляющий вам длительность (время действия) токена. По крайней мере, так обычно разрабатываются такие связанные с токеном API. –

+0

Не уверен, что если это то же самое, проверьте, например: https://developers.google.com/accounts/docs/OAuth2#expiration. –

Смежные вопросы