Проверка учетных данных Google

При создании учетных данных в консоли разработчика Google можно создать несколько различных типов учетных данных в зависимости от того, какие тип создан, вы можете иметь любой из следующих

  • Открытый API-ключ
  • ID клиента
  • Секрет клиента
  • Адрес электронной почты сервисного аккаунта

Все они имеют разные форматы. Я удалил те, которые публикую.

  • Открытый ключ API: AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk
  • Идентификатор клиента: 1046123799103-d0vpdthl4ms0soutcrpe036ckqn7rfpn.apps.googleusercontent.com
  • Секрет клиента: G5QtTuBDp6ejKraR0XodNwaW
  • Адрес электронной почты сервисного аккаунта: 1046123799103-6v9cj8jbub068jgmss54m9gkuk4q2qu8@developer.gserviceaccount.com

Есть ли способ проверить это в моем приложении. Что это за ключи?

Я использую С#, но любая информация о том, какие это ключи, будет полезна.

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

Обновлять:

Google позволяет вам проверить токен доступа, почему нет способа проверить учетные данные проверка TokenInfo

Не работает.

Convert.FromBase64String("AIzaSyAcMvMr_bk91qRKZ5SGYEvF5HWjXVE7Xkk");

person DaImTo    schedule 24.11.2015    source источник
comment
Все они просто токены, они не закодированы byte[]. Вам просто нужно рассматривать их как капли текста   -  person Scott Chamberlain    schedule 25.11.2015
comment
Да, но я ищу способ проверить, что они действительны, если кто-то отправляет XXX, который не является действительным секретом клиента.   -  person DaImTo    schedule 25.11.2015


Ответы (1)


Единственный способ проверить, действительны ли учетные данные, — попробовать использовать их и посмотреть, принимает ли их сервер.

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

person Scott Chamberlain    schedule 25.11.2015
comment
Спасибо за ваш ответ, похоже, мне просто нужно проверить, переданы ли строки как нулевые, и надеюсь. Я также добавлю уловку в код, чтобы поймать ошибку, если она была недействительной. - person DaImTo; 26.11.2015