클라이언트 보안 비밀번호

.NET용 Google API 클라이언트 라이브러리는 client_id, client_secret, 기타 OAuth 2.0 매개변수를 저장하는 데 client_secrets.json 파일을 사용합니다.

client_secrets.json 파일은 클라이언트 ID, 클라이언트 보안 비밀번호, 기타 OAuth 2.0 매개변수가 포함된 JSON 형식의 파일입니다. 다음은 웹 애플리케이션의 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"
  }
}

이 형식은 다음 두 가지 클라이언트 ID 유형 중 하나를 정의합니다.

  • web: 웹 애플리케이션
  • installed: 설치된 애플리케이션

webinstalled 하위 객체에는 다음과 같은 필수 멤버가 있습니다.

  • client_id (문자열): 클라이언트 ID입니다.
  • client_secret (문자열): 클라이언트 보안 비밀번호입니다.

이 파일의 다른 모든 구성원은 선택사항이며 .NET 클라이언트 라이브러리는 이를 사용하지 않습니다.

동기

일반적으로 OAuth 2.0 엔드포인트 제공업체는 자사 서비스를 사용하는 사용자가 등록 페이지의 클라이언트 ID와 클라이언트 보안 비밀번호를 복사하여 작업 코드에 붙여넣을 것으로 예상했습니다. 이 방법은 오류가 발생하기 쉬우며 OAuth 2.0을 작동하는 데 필요한 정보를 불완전하게 파악할 수 있습니다. 또한 OAuth 2.0에서는 모든 엔드포인트를 파악하고 리디렉션 URI를 구성해야 합니다. 서비스 제공업체에서 다운로드 가능한 client_secrets.json 파일을 제공하고 클라이언트 라이브러리가 이러한 파일을 사용할 준비가 되면 OAuth 2.0을 구현하는 것이 더 쉽고 오류가 발생할 가능성이 낮습니다.