Github OAuth 2.0 설정하기 (클라이언트 ID와 클라이언트 비밀)

GitHub의 OAuth 2.0 서비스를 통합하여 제3자 웹사이트 로그인을 하려면 세 단계를 따르세요: GitHub에 앱 생성, 사용자 인증 요청, 액세스 토큰 획득. 시작하기 전에 OAuth 2.0에 대해 알아보세요.

Young-jae

Young-jae

8 June 2025

Github OAuth 2.0 설정하기 (클라이언트 ID와 클라이언트 비밀)

OAuth 2.0 인증 코드 부여는 GitHub을 포함한 많은 서비스에서 사용되는 일반적인 인증 방법으로, 비밀번호를 공유하지 않고 제3자 애플리케이션이 사용자 데이터에 접근할 수 있도록 허용합니다. Apidog에서 이를 구현하고 디버깅하는 것은 귀중한 기술이 될 수 있습니다.

OAuth 2.0

OAuth 2.0은 사용자 자격 증명을 요구하지 않고 제3자가 보호된 리소스에 접근할 수 있도록 하는 널리 사용되는 인증 프로토콜입니다. 여기에는 리소스 소유자, 클라이언트, 인증 서버 및 리소스 서버라는 네 가지 주요 역할이 포함됩니다.

일반적인 인증 흐름

OAuth 2.0 프로토콜은 다양한 인증 흐름을 통해 인증을 구현합니다. 일반적인 인증 흐름에는 다음이 포함됩니다:

Github OAuth 2.0 설정하기 (클라이언트 ID 및 클라이언트 비밀)

1단계: 애플리케이션 생성 및 클라이언트 ID와 클라이언트 비밀 받기

클라이언트 ID와 클라이언트 비밀을 받으려면 먼저 애플리케이션을 생성해야 합니다. 다음 링크를 클릭하여 Github에서 생성하세요: https://github.com/settings/applications/new, 그리고 "홈페이지 URL"에 도메인 이름을 입력하세요. 로컬 디버깅을 하는 경우 http://127.0.0.1:8000와 같은 로컬 서비스를 입력할 수 있습니다.

"Authorization callback URL"에 콜백 주소를 입력하세요. 이는 도메인 이름이나 로컬 콜백 주소가 될 수 있습니다. 예를 들어, http://127.0.0.1:8000/callback를 사용할 수 있습니다.

관련 구성을 모두 입력한 후 "애플리케이션 등록"을 클릭하여 생성하세요.

애플리케이션 생성

애플리케이션이 생성된 후 클라이언트 ID와 클라이언트 비밀이 생성됩니다. 클라이언트 비밀은 별도로 생성해야 합니다. "새 클라이언트 비밀 생성"을 클릭하여 키를 생성하세요.

클라이언트 ID

2단계: 액세스 토큰 얻기

위의 첫 번째 단계가 준비되면 액세스 토큰(Token)을 신청할 수 있습니다. 우리는 이 단계를 Apidog를 통해 시연할 것입니다. Apidog는 매우 우수한 API 디버깅 및 관리 도구입니다.

Token 액세스 토큰은 Apidog에서 직접 얻을 수 있습니다. 아직 Apidog를 설치하지 않았다면 지금 다운로드하세요!

버튼
  1. Apidog에서 새 HTTP 프로젝트를 생성하고 엽니다. 그런 다음 프로젝트에서 새 요청을 생성하고 [문서 수정 -> 인증 -> OAuth 2.0 -> 옵션을 선택합니다.
OAuth 2.0

2. 클라이언트 ID, 클라이언트 비밀 및 리디렉션 주소 구성
Apidog의 OAuth 2.0 페이지에서 선택된 기본 인증 모드는 인증 코드(authorization code mode)입니다.

Github OAuth 2.0도 인증 코드(authorization code mode)를 사용하므로 여기서 전환할 필요가 없습니다.

인증 코드

그런 다음 페이지 하단에서 클라이언트 ID, 클라이언트 비밀 및 콜백 URL을 찾아 입력하세요. 클라이언트 ID(클라이언트 ID), 클라이언트 비밀(클라이언트 비밀) 및 구성된 콜백 주소(콜백 URL)은 Github의 OAuth 2.0 서비스에서 얻어야 합니다.

그냥 입력하면 됩니다. 구체적인 매개변수는 위의 "1단계"에 있는 구성 내용입니다.

콜백 URL

3. 인증 코드 요청 주소 구성
Github 공식 문서에 따르면, OAuth 2.0 인증을 수행할 때 인증 코드의 요청 주소(Auth URL)는:
https://github.com/login/oauth/authorize
이 인증 코드의 요청 주소를 Auth URL에 입력하면 됩니다. 우리는 이 주소를 로그인 인증 페이지로 이해할 수 있습니다.

이 페이지는 최초로 로그인 상태가 확인될 때 열리며(클라이언트의 창입니다), 이후 사용자 이름과 비밀번호를 입력하라는 요청이 있습니다.

일반적으로 로그인 인증 페이지를 수동으로 구성할 때, 인증 주소 뒤에 일부 매개변수를 추가해야 합니다.

하지만 Apidog에서는 URL 뒤의 매개변수를 일반적으로 추가할 필요가 없습니다. 질문 기호? 앞의 경로만 충분하며 다른 매개변수는 별도로 다른 옵션에 구성되어 있습니다.

물론 일부 쿼리 매개변수를 추가하고 싶다면 추가할 수 있습니다. 입력 상자 뒤의 아이콘을 클릭하여 추가하세요:

쿼리 매개변수

또한 "더 보기" 옵션을 확장하고 필요한 매개변수 값을 해당 옵션에 입력할 수 있습니다. 예를 들어 "Scope"에 필요한 권한인 read:user, user:email 등을 입력할 수 있습니다.

Github 도움말 문서의 권한 모듈을 방문하여 다른 권한에 대한 정보를 확인할 수 있습니다. "State" 옵션에는 state를 입력하세요. state는 교차 사이트 요청 위조를 방지하기 위한 것입니다.

4. 액세스 토큰 요청 주소 구성
Github 공식 문서에 따르면, 액세스 토큰을 신청하기 위한 요청 URL은:
https://github.com/login/oauth/access_token
위의 주소를 Apidog의 OAuth 2.0 페이지의 액세스 토큰 URL 입력 필드에 입력하면 됩니다.

5. Github OAuth 2.0 서비스의 액세스 토큰 얻기
위의 구성 항목이 설정된 후 "토큰 얻기" 버튼을 클릭하여 액세스 토큰을 얻을 수 있습니다.

클릭하면 처음 로그인하는 경우 권한 부여를 위한 창이 팝업됩니다. Github 계정의 사용자 이름과 비밀번호를 입력하면 됩니다.

사용자 이름과 비밀번호를 입력한 후에는 권한을 확인하거나 이중 인증을 수행하라는 요청을 받을 것입니다. 인증 후 확인을 클릭하세요.

인증이 완료되면 액세스 토큰이 자동으로 얻어지고 페이지에 표시됩니다. 동시에 Github에서 반환한 다른 정보도 파싱되어 표시됩니다. 여기서 "만료됨"이 표시되는 것은 Github이 우리에게 expires_in 속성을 반환하지 않아서 판단할 수 없기 때문입니다. 그러나 이 Token은 사용 가능합니다. 아래에서 요청을 시작해봅시다.

3단계: 토큰을 기반으로 공개 리소스 접근

액세스 토큰(Token)을 얻은 후에는 이 액세스 토큰을 사용하여 Github의 공개 리소스에 호출할 수 있습니다. Github API에서 특정 공개 리소스를 확인할 수 있습니다.

예를 들어, 다음 API는 사용자 정보를 얻습니다. 만약 인터페이스가 반환되지 않는다면, 권한이 있는지 확인해야 합니다. "2단계" 3항에서 언급한 바와 같이, Scope에서 구성하면 됩니다.

요청을 보낼 때 Apidog는 자동으로 Token을 요청 헤더의 Authorization에 추가하고 Bearer에 추가하여 전송합니다. URL에 Token을 포함하고 싶다면, 페이지의 구성 항목에서 Token의 "위치 추가"를 수정하고 "쿼리 매개변수"를 선택할 수 있습니다.

요약

OAuth 2.0은 제3자 애플리케이션이 사용자에게 사용자 이름과 비밀번호를 제공하도록 요구하지 않고 액세스 토큰을 얻을 수 있도록 하는 인증 프레임워크입니다. GitHub에서 사용하는 인증 프로세스는 "인증 코드 인증 프로세스"이며, 이 인증 프로세스는 Apidog에서 디버깅 및 구성할 수 있습니다.

버튼

Explore more

EXAONE 3.0 7.8B 모델을 로컬에서 실행하는 방법

EXAONE 3.0 7.8B 모델을 로컬에서 실행하는 방법

이 글에서는 EXAONE 3.0 7.8B 모델을 자신의 컴퓨터에서 설치하고 실행하는 방법을 단계별로 상세히 알아보겠습니다

25 March 2025

Claude 3.7 소넷 API에 접근하고 Apidog을 사용하여 테스트하는 방법

Claude 3.7 소넷 API에 접근하고 Apidog을 사용하여 테스트하는 방법

Anthropic의 최신 출시인 Claude 3.7 Sonnet에 대해 기대하고 있으며, Apidog로 테스트하면서 API를 통한 기능을 탐색하고 싶다면, 올바른 장소에 오신 것입니다. 💡시작하기 전에 간단한 팁을 드리겠습니다: 오늘 Apidog를 무료로 다운로드하여 API 테스트 프로세스를 간소화하세요. 특히 Claude 3.7 Sonnet의 강력한 기능을 탐색하는 데 적합한 도구로, 최첨단 AI 모델을 테스트하려는 개발자에게 이상적입니다!버튼 Claude 3.7 Sonnet이 중요한 이유로 시작해봅시다. Anthropic은 최근 2025년 2월 24일에 이 모델을 공개했으며, 즉시 및 단계별 응답을 위한 하이브리드 추론 기능을 갖춘 가장 지능적인 창작물로 자리 잡았습니다. 이는 코딩, 추론 등 여러 부분에서 혁신적인 변화를 가져오며, 현재 e Anthropic API, Amazon Bedrock, Google Cloud의 Vertex AI를 통해 사용할 수 있습니다. 이 튜

25 February 2025

GitHub Copilot 무료: 어떻게 시작하나요?

GitHub Copilot 무료: 어떻게 시작하나요?

GitHub Copilot 무료 사용법을 알아보세요. 이 AI 기반 코딩 도우미에 대한 이 가이드는 VS Code와 JetBrains와 같은 인기 IDE의 설정 단계를 다루며, 무료로 스마트한 코드 제안 및 완성을 통해 생산성을 높일 수 있도록 도와줍니다!

19 December 2024

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요