OAuth 2.0 공급자
Delphi에서 자체 OAuth 2.0 인증 서버를 구축하세요. PKCE, 서명된 JWT 액세스 토큰, 플러그 가능한 저장소를 갖춘 authorize, token, refresh, revoke 엔드포인트를 제공해요.
Delphi에서 자체 OAuth 2.0 인증 서버를 구축하세요. PKCE, 서명된 JWT 액세스 토큰, 플러그 가능한 저장소를 갖춘 authorize, token, refresh, revoke 엔드포인트를 제공해요.
완전한 OAuth 2.0 인증 서버 구현이에요: 클라이언트를 등록하고 인증 코드를 발급하며, 액세스 + 갱신 토큰으로 교환하고, JWT에 서명하며, PKCE, 갱신 교체, 해지를 지원해요.
TsgcHTTP_OAuth2_Server_Provider
Windows, macOS, Linux, iOS, Android
Enterprise
TsgcHTTP_OAuth2_Server_Provider를 놓고, client_ids와 redirect_uris를 등록하고, TsgcWebSocketHTTPServer에 연결하세요 — 표준 엔드포인트(/authorize, /token, /revoke)가 사용 가능해져요.
uses
sgcWebSocket, sgcHTTP;
var
Server: TsgcWebSocketHTTPServer;
Provider: TsgcHTTP_OAuth2_Server_Provider;
begin
Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
Provider.OAuth2Options.AuthorizationEndpoint := '/oauth/authorize';
Provider.OAuth2Options.TokenEndpoint := '/oauth/token';
Provider.OAuth2Options.RevocationEndpoint := '/oauth/revoke';
Provider.OAuth2Options.PKCE.Required := True;
Provider.OnAuthorizeRequest := procedure(Sender: TObject;
const aRequest: TsgcOAuth2_AuthorizeRequest;
var aResponse: TsgcOAuth2_AuthorizeResponse)
begin
// validate user session, issue or deny the auth code
aResponse.Code := GenerateAuthCode(aRequest.ClientId, aRequest.UserId);
end;
Server := TsgcWebSocketHTTPServer.Create(nil);
Server.Port := 8443;
Server.SSL := True;
Server.OAuth2.Provider := Provider;
Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_OAuth2_Server_Provider *Provider = new TsgcHTTP_OAuth2_Server_Provider(this);
Provider->OAuth2Options->AuthorizationEndpoint = "/oauth/authorize";
Provider->OAuth2Options->TokenEndpoint = "/oauth/token";
TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
Server->OAuth2->Provider = Provider;
Server->Active = true;
직접 호스팅하는 인증 서버예요. /authorize부터 리프레시 토큰 교체까지 모두 하나의 Delphi 컴포넌트로 처리해요.
GET /authorize 요청을 처리하고 response_type, client_id, redirect_uri를 검증한 다음, 사용자 세션 로그인 UI를 위해 OnAuthorizeRequest를 발생시켜요.
POST /token은 authorization_code, refresh_token, client_credentials grant에 대해 액세스 토큰과 리프레시 토큰을 발급해요. PKCE code_verifier는 RFC 7636에 따라 검증해요.
원하면 자체 완결형 JWT 액세스 토큰(HS 또는 RS / ES)을 발급할 수 있어요. 리소스 서버가 introspection 왕복 없이 검증할 수 있어요.
OAuth2Options.RefreshToken.Rotation을 켜면 갱신할 때마다 새 리프레시 토큰이 발급되고 이전 토큰은 무효화돼요. OAuth 2.1 모범 사례에 부합해요.
POST /revoke는 RFC 7009에 따라 액세스 토큰 또는 리프레시 토큰을 무효화해요. Bearer와 client_credentials 폐기를 모두 지원해요.
OnLookupClient, OnPersistAuthCode, OnPersistRefreshToken 등으로 FireDAC, SQLite, Redis 또는 직접 만든 DAL을 프로바이더의 저장소로 사용할 수 있어요.
이 컴포넌트가 구현하는 표준의 공식 출처예요.
컴포넌트 레퍼런스 링크, 즉시 실행 가능한 데모 프로젝트, 체험판 다운로드를 제공해요.
| 온라인 도움말 — TsgcHTTP_OAuth2_Server_Provider 이 컴포넌트의 전체 속성, 메서드, 이벤트 레퍼런스예요. | Open | |
| Demo Project — Demos\20.HTTP_Protocol\08.OAuth2_ServerProvider 즉시 실행 가능한 예제 프로젝트예요. sgcWebSockets 패키지에 포함돼 있어요 — 아래에서 체험판을 다운로드하세요. | Open | |
| 기술 문서 (PDF) 이 컴포넌트의 기능, 빠른 시작, Delphi 및 C++ Builder 코드 샘플, 기본 출처 참조를 포함해요. | Open | |
| 사용자 매뉴얼 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 매뉴얼이에요. | Open |