OAuth 2.0 클라이언트

OAuth 2.0 / OAuth 2.1 클라이언트 컴포넌트예요 — PKCE를 포함한 Authorization Code, Client Credentials, Device Code, 갱신 토큰 교체, 내장 브라우저 플로우를 제공해요.

TsgcHTTP_OAuth2_Client

OAuth 2.0 / 2.1 클라이언트 측을 구현해요 — Authorization Code(PKCE 포함), Client Credentials, Device Code, 갱신 토큰 플로우를 지원해요. 리다이렉트 URI를 위한 소형 내장 HTTP 리스너가 포함돼요.

컴포넌트 클래스

TsgcHTTP_OAuth2_Client

프로토콜

OAuth 2.0 (RFC 6749)

플랫폼

Windows, macOS, Linux, iOS, Android

에디션

Standard / Professional / Enterprise

공급자 구성 후 플로우 시작

ClientId / ClientSecret / Scope / Endpoints를 구성하거나(Google / Microsoft / GitHub의 Provider 사전 설정 사용), StartAuthorization을 호출한 다음 HTTP 호출에서 Token을 사용하세요.

uses
  sgcHTTP;

var
  OAuth2: TsgcHTTP_OAuth2_Client;
begin
  OAuth2 := TsgcHTTP_OAuth2_Client.Create(nil);
  OAuth2.OAuth2Options.ClientId     := 'your-client-id';
  OAuth2.OAuth2Options.ClientSecret := 'your-client-secret';
  OAuth2.OAuth2Options.Scope        := 'profile email';
  OAuth2.OAuth2Options.RedirectURL  := 'http://localhost:5555/callback';
  OAuth2.OAuth2Options.AuthorizationURL := 'https://auth.example.com/authorize';
  OAuth2.OAuth2Options.TokenURL         := 'https://auth.example.com/token';
  OAuth2.OAuth2Options.PKCE := True;

  // Spawns the user browser at the auth URL
  OAuth2.StartAuthorization;
  // ... user logs in, browser is redirected to the callback URL
  // ... the component captures the code, exchanges for tokens

  ShowMessage(OAuth2.AccessToken);
end;
// uses: sgcHTTP
TsgcHTTP_OAuth2_Client *OAuth2 = new TsgcHTTP_OAuth2_Client(this);
OAuth2->OAuth2Options->ClientId     = "your-client-id";
OAuth2->OAuth2Options->ClientSecret = "your-client-secret";
OAuth2->OAuth2Options->Scope        = "profile email";
OAuth2->OAuth2Options->RedirectURL  = "http://localhost:5555/callback";
OAuth2->OAuth2Options->PKCE = true;
OAuth2->StartAuthorization();

내부 구성

PKCE, 갱신 토큰 교체, 내장 루프백 리다이렉트 리스너를 갖춘 OAuth 2.0 클라이언트 인터페이스를 구현해요.

플로우

Authorization Code(RFC 7636에 따른 선택적 PKCE), Client Credentials(RFC 6749 §4.4), Device Code(RFC 8628), Refresh Token(RFC 6749 §6)이 모두 타입화된 메서드로 지원돼요.

기본 PKCE

OAuth2Options.PKCE를 토글하세요 — 컴포넌트가 RFC 7636에 따라(OAuth 2.1에서는 필수) code_verifier / code_challenge 쌍을 생성하고 포함해요.

공급자 사전 설정

형제 컴포넌트 TsgcHTTP_OAuth2_Client_GoogleTsgcHTTP_OAuth2_Client_Microsoft는 올바른 엔드포인트와 스코프가 사전 입력돼 있어요. 다른 경우에는 기본 클래스를 사용하세요.

루프백 리다이렉트 리스너

컴포넌트가 구성된 RedirectURL에 소형 내장 HTTP 리스너를 시작하고, 인증 코드를 캡처한 다음 리스너를 종료해요 — 외부 웹 서버가 필요 없어요.

토큰 지속성

SaveToFile / LoadFromFile이 갱신 토큰을 유지(구성된 경우 저장 시 암호화)하여 앱을 실행할 때마다 사용자에게 프롬프트가 표시되지 않아요.

HTTP / WebSocket 드롭인

Authentication.Token.OAuth2를 통해 TsgcHTTPComponentClient, TsgcHTTP2Client 또는 TsgcWebSocketClient와 페어링하세요 — bearer 토큰이 모든 요청에 자동으로 삽입돼요.

사양 및 참조

이 컴포넌트가 구현하는 표준의 공식 출처예요.

문서 및 데모

컴포넌트 레퍼런스 링크, 즉시 실행 가능한 데모 프로젝트, 체험판 다운로드를 제공해요.

온라인 도움말 — TsgcHTTP_OAuth2_Client 이 컴포넌트의 전체 속성, 메서드, 이벤트 레퍼런스예요.
Demo Project — Demos\20.HTTP_Protocol\02.OAuth2_Authentication 즉시 실행 가능한 예제 프로젝트예요. sgcWebSockets 패키지에 포함돼 있어요 — 아래에서 체험판을 다운로드하세요.
기술 문서 (PDF) 이 컴포넌트의 기능, 빠른 시작, Delphi 및 C++ Builder 코드 샘플, 기본 출처 참조를 포함해요.
사용자 매뉴얼 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 매뉴얼이에요.

Delphi에 OAuth 2.0을 추가할 준비가 됐나요?

무료 체험판을 다운로드하고 Delphi 애플리케이션에 OAuth 2.0 / 2.1 인증을 통합하세요.