Зачем нужны учетные данные менеджера API Google? (Или они?)

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

Мы ожидали, что сможем иметь возможность просто включить библиотеку Java, которая вызывает API, и настроить наше приложение на запрос разрешений календаря, а затем войти в наши личные учетные записи Google на наших эмуляторах и иметь возможность доступа приложения к нашим соответствующим календарям., Мы продолжали получать 403 (запрещенных) ошибок, так что очевидно, что это не сработало.

Поэтому мы попытались наткнуться на запутанную документацию API и скопировали некоторые вещи из проекта Quickstart. Нам удалось поделиться проектом друг с другом в консоли разработчика Google и добавить учетные данные OAuth для каждого из наших компьютеров, и теперь он работает для каждого из нас, но мы все еще в замешательстве.

  1. Почему это создание учетных данных необходимо?
  2. Как будет работать процесс выпуска? Очевидно, что мы не хотим, чтобы наши пользователи генерировали ключи SHA1 для каждого устройства, чтобы использовать наше приложение из Play Store.
  3. Есть ли более простой способ сделать это? Нужна ли нам даже консоль разработчика?

На эти вопросы, вероятно, уже дан ответ, но я не знаю достаточно о процессе, чтобы знать, что искать.

1 ответ

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

Теперь, чтобы предоставить авторизацию, Google предоставляет вам учетные данные (ключ и секрет). Используя этот ключ и секрет, Google генерирует ключ доступа и ключ обновления для приложения.

Ключ доступа: ключ, используемый для доступа к данным с сервера Google в течение ограниченного времени. Обновить ключ: ключ, используемый для получения нового ключа доступа, когда истекает срок действия старого.

Теперь сосредоточимся на ваших вопросах.

Q: Почему это создание учетных данных необходимо? A: Учетные данные, чтобы гарантировать, что только ваше приложение может получить доступ к данным календаря пользователя.

Q: Как будет работать процесс выпуска? Очевидно, что мы не хотим, чтобы наши пользователи генерировали ключи SHA1 для каждого устройства, чтобы использовать наше приложение из Play Store. A: Google сгенерирует ключ доступа и обновления.

В: Есть ли более простой способ сделать это? Нужна ли нам даже консоль разработчика? A: Поверьте мне... как только вы это поймете, это очень простой и, что самое главное, безопасный способ. (Google не разрешает аутентификацию с использованием пароля по умолчанию)

Вы можете узнать больше здесь: https://developers.google.com/identity/protocols/OAuth2

Другие вопросы по тегам