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

Клиентская библиотека 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 будет проще и менее подвержена ошибкам.