Зачем нужны учетные данные менеджера API Google? (Или они?)
Я делаю приложение для Android, которое использует API Календаря Google с группой из 3 учеников, и мы пытаемся понять процесс аутентификации.
Мы ожидали, что сможем иметь возможность просто включить библиотеку Java, которая вызывает API, и настроить наше приложение на запрос разрешений календаря, а затем войти в наши личные учетные записи Google на наших эмуляторах и иметь возможность доступа приложения к нашим соответствующим календарям., Мы продолжали получать 403 (запрещенных) ошибок, так что очевидно, что это не сработало.
Поэтому мы попытались наткнуться на запутанную документацию API и скопировали некоторые вещи из проекта Quickstart. Нам удалось поделиться проектом друг с другом в консоли разработчика Google и добавить учетные данные OAuth для каждого из наших компьютеров, и теперь он работает для каждого из нас, но мы все еще в замешательстве.
- Почему это создание учетных данных необходимо?
- Как будет работать процесс выпуска? Очевидно, что мы не хотим, чтобы наши пользователи генерировали ключи SHA1 для каждого устройства, чтобы использовать наше приложение из Play Store.
- Есть ли более простой способ сделать это? Нужна ли нам даже консоль разработчика?
На эти вопросы, вероятно, уже дан ответ, но я не знаю достаточно о процессе, чтобы знать, что искать.
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