12

Я разрабатываю приложение, в котором мне нужно получить доступ к нескольким календарям Google. Все эти календари исходят от разных пользователей. И сейчас я использую OAuth2 для синхронизации. Но, как я понимаю, я могу генерировать только 25 токенов обновления для каждого идентификатора клиента.Ограничение токена обновления API Google

Note: Save refresh tokens in secure long-term storage and continue to use 
them as long as they remain valid. Limits apply to the number of refresh 
tokens that are issued per client-user combination, and per user across all clients, 
and these limits are different. If your application requests enough refresh tokens 
to go over one of the limits, older refresh tokens stop working. 

Как я уже сказал, я сохраняю токены обновления в своей БД. Но моя проблема в том, что, если я получаю больше клиентов, которые хотят синхронизировать свой календарь? Есть ли способ игнорировать предел? Конечно, нет. То, что я имею в виду сейчас, - это просто создать больше идентификаторов клиентов. Есть рекомендации?

ответ

24

Его 50 на пользователя (клиент-пользователь), как у Пользователя вашего Клиента. Не client_id. Для каждого лица, которое проверяет подлинность вашего приложения, вы можете их аутентифицировать до 50 раз. Каждый токен Refresh, который вы получите, будет работать. После 50-го первый перестанет работать. Они также будут работать до 6 месяцев, я думаю, если он не будет использоваться в течение 6 месяцев, он будет признан недействительным.

У вас может быть так много людей, которые используют ваш клиент (client_id), который желает вас аутентифицировать. У тебя не будет проблем.

от Google oauth2 документации найдено here

Токен истечения

Вы должны написать свой код, чтобы предвидеть возможность того, что предоставил маркер может больше не работать. Токен может перестать работать по одной из следующих причин:

• Пользователь отменил доступ.

• Токен не использовался в течение шести месяцев.

• Пользователь изменил пароли, а токен содержит области Gmail.

• Учетная запись пользователя превысила определенное количество запросов к токенам.

В настоящее время существует ограничение на 50 токенов обновления для каждой учетной записи пользователя на одного клиента. Если предел достигнут, создание нового токена автоматически аннулирует старейший токен без предупреждения. Это ограничение не распространяется на учетные записи служб.

Существует также больший лимит на общее количество токенов, которые пользовательская учетная запись или учетная запись службы могут иметь для всех клиентов. Большинство обычных пользователей не превысят этого предела, но тестовая учетная запись разработчика может.

Если вам необходимо авторизовать несколько программ, машин или устройств, одним из способов является ограничение количества клиентов, которые вы авторизуете для каждой учетной записи пользователя, до 15 или 20. Если вы являетесь администратором Google Apps, вы можете создать дополнительный администратор пользователей и использовать их для авторизации некоторых клиентов.

Вопрос: Где вы это нашли? Я хотел бы сообщить об этом в Google его немного запутанным

Примечание: Сохранение токенов обновления в безопасном длительном хранении и продолжают использовать их до тех пор, пока они остаются в силе. Пределы применяются к числу токенов обновления , которые выдаются за комбинация клиент-пользователя и для каждого пользователя по всем клиентам, и эти ограничения различны.Если ваше приложение требует достаточно обновить токены, чтобы перейти по одному из пределов , старые токены обновления перестают работать.

+0

Yup. Где вы это нашли? Я хочу сообщить об этом Google в замешательство. Я просто обновил его ссылкой из лучшего источника документации. – DaImTo

+0

Извините, я удалил свой предыдущий комментарий. В любом случае, вот где я читаю https://developers.google.com/accounts/docs/OAuth2. – user3360031

+1

Wew. Наконец, я могу продолжить это. Спасибо @DalmTo за разъяснение всего. :) – user3360031

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