Секреты клиента

Клиентская библиотека API Google для .NET использует файлы client_secrets.json для хранения client_id , client_secret и других параметров OAuth 2.0.

Файл client_secrets.json — это файл в формате JSON, содержащий идентификатор клиента, секрет клиента и другие параметры OAuth 2.0. Вот пример файла client_secrets.json для веб-приложения:

{   "web": {     "client_id": "asdfjasdljfasdkjf",     "client_secret": "1912308409123890",     "redirect_uris": ["https://www.example.com/oauth2callback"],     "auth_uri": "https://accounts.google.com/o/oauth2/auth",     "token_uri": "https://accounts.google.com/o/oauth2/token"   } }

Вот пример файла client_secrets.json для установленного приложения:

{   "installed": {     "client_id": "837647042410-75ifg...usercontent.com",     "client_secret":"asdlkfjaskd",     "redirect_uris": ["http://localhost"],     "auth_uri": "https://accounts.google.com/o/oauth2/auth",     "token_uri": "https://accounts.google.com/o/oauth2/token"   } }

Формат определяет один из двух типов идентификаторов клиентов:

  • web : веб-приложение.
  • installed : Установленное приложение.

web и installed подобъекты имеют следующие обязательные элементы:

  • client_id (строка): идентификатор клиента.
  • client_secret (строка): секрет клиента.

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

Мотивация

Традиционно поставщики конечных точек OAuth 2.0 ожидали, что те, кто использует их услуги, скопируют и вставят идентификатор клиента и секрет клиента со страницы регистрации в рабочий код. Этот метод подвержен ошибкам и дает неполное представление об информации, необходимой для работы OAuth 2.0. (OAuth 2.0 также требует знания всех конечных точек и настройки URI перенаправления.) Если поставщики услуг предоставляют загружаемые файлы client_secrets.json , а клиентские библиотеки готовы использовать эти файлы, то реализация OAuth 2.0 будет проще и менее подвержена ошибкам.