sgcAuth 기능 매트릭스
sgcAuth가 제공하는 모든 기능을, 두 클라이언트 컴포넌트와 이들이 구현하는 그랜트 타입 및 클레임, 그리고 sgcCustomIndy와 함께 이 팩이 여는 WebAuthn, TOTP, LDAP, SAML, OpenID Connect, Mail OAuth2 컴포넌트를 기준으로 정리했습니다. 모든 기능이 Delphi와 C++ Builder에서 동일하게 동작하며, 모든 라이선스에 전체 소스 코드가 제공됩니다.
sgcAuth가 제공하는 모든 기능을, 두 클라이언트 컴포넌트와 이들이 구현하는 그랜트 타입 및 클레임, 그리고 sgcCustomIndy와 함께 이 팩이 여는 WebAuthn, TOTP, LDAP, SAML, OpenID Connect, Mail OAuth2 컴포넌트를 기준으로 정리했습니다. 모든 기능이 Delphi와 C++ Builder에서 동일하게 동작하며, 모든 라이선스에 전체 소스 코드가 제공됩니다.
다섯 가지 그랜트 타입, 컴포넌트 하나
서명, 첨부, 검증
sgcCustomIndy를 통한 패스키
2차 인증 코드와 복구 코드
TLS를 통한 Active Directory 로그인
SAML 2.0 단일 로그인
ID 토큰 검증을 포함한 로그인
SMTP, IMAP, POP3를 위한 OAuth2
Delphi 7부터 13까지, C++ Builder
sgcAuth는 자체 완결형 제품입니다. sgcWebSockets Core 런타임이 함께 포함되어 제공되므로, OAuth2와 JWT 클라이언트를 위한 애드온이 아닙니다.
sgcWebSockets 안에도 포함되어 있습니다. OAuth2 클라이언트와 JWT 클라이언트 모두 sgcWebSockets Standard 에디션부터 함께 제공됩니다. All-Access에는 모든 것이 포함됩니다. sgcAuth는 인증 클라이언트만 필요한 팀을 위한 단독 패키지입니다.
두 개의 토큰 클라이언트와 다섯 개의 ID 컴포넌트가 SGC Auth 팔레트 페이지에 등록되어 있습니다.
| 컴포넌트 | 클래스 | 역할 | 설명 |
|---|---|---|---|
| OAuth2 클라이언트 | TsgcHTTP_OAuth2_Client | 토큰 획득 | 모든 OAuth2/OIDC 제공자를 대상으로 Authorization Code, PKCE, Client Credentials, Resource Owner Password, Device Code 그랜트를 지원하며, 로컬 리디렉션 서버가 내장되어 있습니다. |
| JWT 클라이언트 | TsgcHTTP_JWT_Client | 토큰 서명 | JSON Web Token을 생성, 서명, 검증합니다. 단독으로 사용하거나 TsgcWebSocketClient, TsgcHTTP1Client, TsgcHTTP2Client의 Bearer 토큰 소스로 사용할 수 있습니다. |
| TOTP 인증기 | TsgcTOTPAuthenticator | 2차 인증 확인 | TOTP 및 HOTP 비밀 키, otpauth QR 프로비저닝, 재전송 방지 코드 검증, 일회용 복구 코드. |
| LDAP 클라이언트 | TsgcLDAPClient | 디렉터리 비밀번호 확인 | LDAPS 또는 StartTLS를 통한 LDAP v3 및 Active Directory 로그인, 중첩 그룹 멤버십과 페이지 단위 검색. |
| SAML 서비스 제공자 | TsgcSAMLServiceProvider | 단일 로그인 | Entra ID, Okta, AD FS, Google Workspace, Keycloak을 위한 SAML 2.0 서비스 제공자이며, 엄격한 서명 및 어설션 검증을 갖췄습니다. |
| OpenID Connect 클라이언트 | TsgcHTTP_OIDC_Client | 사용자 로그인 | 디스커버리, PKCE와 nonce를 이용한 브라우저 로그인, 제공자 키를 이용한 ID 토큰 검증, userinfo 엔드포인트. |
| Mail OAuth2 | TsgcMailOAuth2 | 메일 인증 | Microsoft 365와 Gmail용 액세스 및 리프레시 토큰, SMTP, IMAP, POP3용 SASL XOAUTH2 및 OAUTHBEARER 문자열. |
TsgcHTTP_OAuth2_Client는 OAuth 2.0(RFC 6749)을 처음부터 끝까지 지원합니다. 플로우를 시작하고, 리디렉션을 받고, 코드를 토큰으로 교환하고, 그 이후의 토큰까지 관리합니다.
| 기능 | API | 비고 |
|---|---|---|
| Authorization Code | OAuth2Options.GrantType := auth2Code | 클라이언트 시크릿을 안전하게 보관할 수 있는, 신뢰할 수 있는 서버 측 웹 애플리케이션을 위한 표준 플로우입니다. |
| Authorization Code + PKCE | auth2CodePKCE(RFC 7636) | 시크릿을 보관할 수 없는 네이티브, 모바일, 싱글 페이지 앱을 위해 코드 교환 증명 키(PKCE)를 추가한 동일한 플로우입니다. |
| Client Credentials | auth2ClientCredentials | 사용자가 개입하지 않는 서버 간 호출: 데몬과 서비스 계정입니다. |
| Resource Owner Password | auth2ResourceOwnerPassword | 애플리케이션이 사용자의 비밀번호를 직접 수집해 토큰으로 교환합니다. |
| Device Code | auth2DeviceCode(RFC 8628) | 입력이 제한된 기기, 스마트 TV, 미디어 콘솔, IoT를 위한 것으로, 사용자가 두 번째 기기에서 입력하는 코드를 보여줍니다. |
| 클라이언트 신원 | OAuth2Options.ClientId, ClientSecret, Username, Password | 제공자의 API 사양에 따라 설정합니다. Username/Password는 토큰 엔드포인트에서 Basic 인증을 요구하는 제공자를 위한 것입니다. |
| 제공자 엔드포인트 | AuthorizationServerOptions.AuthURL, TokenURL, Scope, RevocationURL, IntrospectionURL | 제공자의 OAuth2/OIDC 문서에 게시된 URL과 스코프 목록입니다. |
| 소셜 프리셋 | TsgcHTTP_OAuth2_Client_Google, TsgcHTTP_OAuth2_Client_Microsoft | Google과 Microsoft의 엔드포인트와 스코프를 미리 구성해 둔 자손 컴포넌트입니다. |
| 로컬 리디렉션 리스너 | LocalServerOptions.IP, Port, RedirectURL | 인증 코드 리디렉션을 받기 위해 컴포넌트가 시작하는 작은 HTTP 서버입니다. 기본값은 포트 8080이며, 데스크톱 앱에서는 0으로 설정해 임의의 포트를 사용할 수 있습니다. |
| 플로우 실행 | Start, Stop | Start는 시스템 브라우저를 열거나(Device Code의 경우 디바이스 코드를 발급하며) 구성된 그랜트를 시작합니다. Stop은 이를 중단하고 로컬 리스너를 닫습니다. |
| 갱신 | Refresh | 브라우저를 다시 거치지 않고 리프레시 토큰을 새 액세스 토큰으로 교환합니다. |
| 철회 & 조회 | Revoke(RFC 7009), Introspect(RFC 7662) | 토큰을 무효화하거나, 제공자에서 상태와 메타데이터를 조회합니다. |
| DPoP | DPoPOptions, GenerateDPoPKeyPair, OnDPoPSign | 토큰을 키 쌍에 바인딩하도록 요구하는 제공자를 위한 소유 증명(RFC 9449) 키 자료 및 서명입니다. |
| HTTP 전송 | HTTPClientOptions | token, revocation, introspection 엔드포인트에 POST를 보내는 내부 HTTP 클라이언트를 위한 TLS 및 로깅 설정입니다. |
| 생애 주기 이벤트 | OnBeforeAuthorizeCode, OnAfterAuthorizeCode, OnBeforeAccessToken, OnAfterAccessToken, OnBeforeRefreshToken, OnAfterRefreshToken | 플로우의 각 단계 전후에 발생하는 이벤트 쌍입니다. |
| 오류 이벤트 | OnErrorAccessToken, OnErrorAuthorizeCode, OnErrorRefreshToken, OnErrorRevokeToken, OnErrorIntrospectToken | 플로우의 각 실패 지점마다 하나씩 있으며, 제공자의 오류, 설명, URI를 함께 전달합니다. |
| Device Code 이벤트 | OnDeviceCode, OnDeviceCodeExpired | 표시할 사용자 코드와 검증 URI를 전달하며, 사용자가 제시간에 인증을 완료하지 않으면 발생합니다. |
TsgcHTTP_JWT_Client는 단일 JWTOptions 속성을 통해 RFC 7519(JSON Web Token), RFC 7515(JWS), RFC 7516(JWE)를 구현합니다.
| 기능 | API | 비고 |
|---|---|---|
| 헤더 | JWTOptions.Header.alg, typ, kid | JOSE 헤더입니다. alg는 jwtHS256/384/512, jwtRS256/384/512, jwtES256/384/512, 또는 포스트 퀀텀 jwtMLDSA44/jwtMLDSA65/jwtMLDSA87 중에서 선택하며, 추가 필드는 Header.AddKeyValue로 넣습니다. |
| 페이로드 / 클레임 | JWTOptions.Payload.iss, sub, aud, exp, nbf, iat, jti | 등록된 RFC 7519 클레임이며, 사용자 지정 클레임은 Payload.AddKeyValue로 추가합니다. |
| 서명 키 자료 | JWTOptions.Algorithms.HS.Secret, RS.PrivateKey, ES.PrivateKey, MLDSA.PrivateKey | HMAC용 공유 시크릿, RSA 또는 ECDSA용 PEM 인코딩 개인 키, ML-DSA용 PKCS#8 PEM이며, Header.alg로 선택합니다. |
| 포스트 퀀텀 서명 | jwtMLDSA44, jwtMLDSA65, jwtMLDSA87 | RFC 9964의 ML-DSA JWS 알고리즘으로, 순수 Pascal로 구현되어 이 경로에는 OpenSSL이 전혀 개입하지 않습니다. 클라이언트는 PKCS#8 PEM인 JWTOptions.Algorithms.MLDSA.PrivateKey로 서명하고, 서버는 JWTOptions.Algorithms.MLDSA.Enabled를 설정한 뒤 SubjectPublicKeyInfo PEM인 JWTOptions.Algorithms.MLDSA.PublicKey로 검증합니다. |
| ML-DSA JSON 웹 키 | sgcMLDSA_ExportPublicJWK, sgcMLDSA_ExportPrivateJWK, sgcMLDSA_ImportJWK, sgcMLDSA_ImportJWKAsPEM | AKP JSON 웹 키로, ML-DSA 키를 JWKS에 게시하거나 공급자로부터 읽어 올 때 사용합니다. |
| 자동 갱신 | JWTOptions.RefreshTokenAfter | 0보다 크면 Sign이 iat를 갱신하고 exp를 자동으로 재계산합니다. 0이면 매 요청마다 토큰을 새로 생성합니다. |
| 독립적으로 서명 | Sign | HTTP나 WebSocket 클라이언트 없이도 인코딩된 토큰(header.payload.signature)을 문자열 하나로 생성하고 서명해 반환합니다. |
| 클라이언트에 연결 | Start, Client.Authentication.Token.JWT | Start가 구성된 JWT에 서명해 호스트 컴포넌트에 Bearer 토큰으로 전달합니다. Authentication.Token.JWT에 한 번만 설정하면 모든 요청이 서명된 채로 나갑니다. |
| 연동 대상 | TsgcWebSocketClient, TsgcHTTP1Client, TsgcHTTP2Client | 세 컴포넌트 모두 Authentication.Token을 통해 TsgcHTTP_JWT_Client를 Bearer 토큰 소스로 받아들입니다. |
| OpenSSL 설정 | JWTOptions.OpenSSL_Options | RS 및 ES 알고리즘이 사용하는 API 버전과 라이브러리 경로입니다(APIVersion, LibPath, LibPathCustom, UnixSymLinks). |
WebAuthn은 sgcAuth 이야기의 일부이지만, 이 팩에 등록되는 세 번째 컴포넌트는 아닙니다. sgcWebSockets WebAuthn 서버가 제공하며, 그 아래에는 sgcCustomIndy가 필요합니다.
| 영역 | 내용 |
|---|---|
| 정의 | W3C Web Authentication Level 2(WebAuthn)입니다. 패스키와 FIDO2 보안 키를 이용한 패스워드 없는 로그인이며, TsgcWSAPIServer_WebAuthn이 이를 뒷받침합니다. |
| 위치 | TsgcWSAPIServer_WebAuthn은 서버 측 컴포넌트로, sgcWebSockets Enterprise/All-Access의 일부이며 이 팩이 등록하는 클라이언트가 아닙니다. |
| 필요한 것 | sgcCustomIndy가 sgcWebSockets Core용 애드온으로 제공하는 패치된 Indy 빌드가 필요합니다. |
| 추가 방식 | sgcAuth를 주문하면 주문 페이지가 sgcCustomIndy를 장바구니에 자동으로 추가합니다. 이미 라이선스를 보유하고 있다면 결제 시 해당 항목을 제거할 수 있으며, 어느 쪽이든 추가 비용은 없습니다. |
| 클라이언트 측 | 브라우저 측 JavaScript 애플리케이션이 WebAuthn 절차를 구동합니다. sgcHTML이 이 서버와 짝을 이루는 WebAuthn 로그인 UI 컴포넌트를 미리 만들어 제공합니다. |
| 패스키 | 검색 가능한 자격 증명을 이용한 사용자 이름 없는 로그인, 조건부 중재를 통한 패스키 자동 완성, 사용자당 여러 패스키, BackupEligible과 BackupState를 통한 동기화형/기기 종속형 구분, 복제된 인증기 탐지. |
TsgcTOTPAuthenticator는 TOTP(RFC 6238)와 HOTP(RFC 4226)를 구현하며, Google Authenticator, Microsoft Authenticator를 비롯한 모든 인증 앱이 보여주는 코드입니다.
| 기능 | API | 비고 |
|---|---|---|
| 비밀 키 | GenerateSecret, SecretLength | 기본 20바이트의 무작위 Base32 비밀 키를 생성해 사용자 레코드와 함께 저장합니다. |
| QR 프로비저닝 | GetProvisioningURI, Issuer | 발급자, 알고리즘, 자릿수, 주기를 담은 otpauth://totp/ URI를 만들어 바로 QR 코드로 렌더링할 수 있습니다. |
| 코드 검증 | VerifyCode, Window | 현재 시간 구간과 그 앞뒤로 기본값 1인 Window 구간의 코드를 허용하므로, 휴대폰 시계가 몇 초 어긋나도 로그인할 수 있습니다. |
| 재전송 방지 | aLastTimeStep을 사용하는 VerifyCode | 마지막으로 사용한 시간 구간보다 큰 값만 받아들이고 일치한 구간을 반환하므로, 같은 코드를 두 번 사용할 수 없습니다. |
| HOTP 카운터 | GenerateHOTP, VerifyHOTP | 하드웨어 토큰을 위한 카운터 기반 방식이며, 성공 시 카운터를 재동기화하는 선행 검색 창을 둡니다. |
| 복구 코드 | GenerateRecoveryCodes | 임의의 TStrings에 고유한 일회용 코드를 채우며, 사용자가 기기를 분실했을 때의 대체 수단입니다. |
| 알고리즘과 자릿수 | Algorithm, Digits, Period | 모든 앱이 지원하는 기본값 HMAC-SHA1, 또는 HMAC-SHA256, HMAC-SHA512를 선택할 수 있으며, 코드는 6~8자리, 주기도 자유롭게 설정할 수 있습니다. |
TsgcLDAPClient는 Active Directory나 다른 LDAP 디렉터리를 대상으로 사용자를 인증하고 소속 그룹을 읽어오는 LDAP v3 클라이언트(RFC 4511)입니다.
| 기능 | API | 비고 |
|---|---|---|
| 연결 | Host, Connect, BindDN, Password, BaseDN | 디렉터리 서버, 검색에 사용되는 서비스 계정, 사용자와 그룹 검색의 기준 위치입니다. |
| LDAPS와 StartTLS | Security, TLSOptions | 포트 636의 암묵적 TLS인 ldapsecLDAPS, 또는 포트 389의 ldapsecStartTLS. StartTLS가 거부되면 연결을 닫으며, 클라이언트는 평문으로 대체하지 않습니다. |
| 로그인 모드 | AuthenticationMode, UserSearchFilter | ldapamUPN, ldapamDownLevel, ldapamSearchThenBind, ldapamDN이 입력한 이름을 바인드 이름으로 변환합니다. |
| 인증 | Authenticate | 한 번의 호출로 사용자 이름과 비밀번호를 확인하고 해당 사용자의 DN을 반환합니다. |
| 중첩 그룹 | GetUserGroups | 직접적인 memberOf 값, 또는 Active Directory 규칙 LDAP_MATCHING_RULE_IN_CHAIN으로 다른 그룹을 거쳐 도달하는 모든 그룹입니다. |
| 페이지 단위 검색 | Search, PageSize, SizeLimit, TimeLimit | Simple Paged Results를 자동으로 사용하며 기본값은 페이지당 500개 항목이고, 결과 항목과 리퍼럴은 TsgcLDAPEntries 목록으로 반환됩니다. |
| 안전한 바인드 | Bind, WhoAmI, LastResultCode, LastErrorMessage | 비밀번호가 빈 DN은 서버에 접속하지 않고 거부되어, RFC 4513의 미인증 바인드 취약점을 막습니다. |
| 스레드 | 모든 공개 메서드 | 호출이 직렬화되어 있어 인스턴스 하나로 멀티스레드 HTTP 또는 WebSocket 서버의 로그인 요청을 처리할 수 있습니다. |
TsgcSAMLServiceProvider는 Delphi 웹 애플리케이션을 Microsoft Entra ID, Okta, AD FS, Google Workspace, Keycloak을 비롯한 여러 ID 공급자를 위한 SAML 2.0 서비스 제공자로 만들어 줍니다.
| 기능 | API | 비고 |
|---|---|---|
| 서비스 제공자 ID | EntityID, AssertionConsumerServiceURL | 엔티티 ID와 브라우저가 전달하는 응답을 받는 ACS URL입니다. |
| 양방향 메타데이터 | GetMetadata, LoadIdPMetadata | GetMetadata는 IdP에 등록할 SP 메타데이터를 생성합니다. LoadIdPMetadata는 IdPEntityID, IdPSSOURL, IdPSSOBinding, IdPCertificates를 채웁니다. |
| Redirect 및 POST 바인딩 | GetAuthnRequestRedirectURL, GetAuthnRequestPostForm | 압축된 AuthnRequest를 담은 HTTP-Redirect URL, 또는 자동으로 제출되는 HTTP-POST 폼입니다. |
| 서명된 요청 | SignAuthnRequests, SPCertificate, SPPrivateKey | 서명을 요구하는 ID 공급자를 위해 AuthnRequest에 서명합니다. |
| 신뢰된 키만 사용 | IdPCertificates, AllowSHA1 | 서명은 오직 설정된 IdP 인증서에 대해서만 검증하며, 메시지에 포함된 인증서는 절대 신뢰하지 않습니다. RSA-SHA256, RSA-SHA384, RSA-SHA512와 배타적 정규화를 지원하며, SHA-1은 허용한 경우에만 사용됩니다. |
| 서명 래핑 공격 방지 | ProcessResponse | 응답에는 직접적인 자식으로 어설션이 정확히 하나만 있어야 하며, 서명은 반드시 그 요소를 참조해야 합니다. |
| 어설션 검증 | ClockSkew, MaxAssertionAge, AllowIdPInitiated | 발급자, 대상, 목적지, InResponseTo, 유효 기간 창을 검증하며 어설션 ID의 재전송 방지 캐시를 유지합니다. IdP가 시작하는 로그인은 활성화하기 전까지 꺼져 있습니다. |
| 결과 | TsgcSAMLResult | NameID, NameIDFormat, SessionIndex, AuthnInstant, 표시 이름이 포함된 Attributes, 읽을 수 있는 ErrorMessage. |
TsgcHTTP_OIDC_Client는 OAuth2 클라이언트 위에 OpenID Connect Core 1.0을 구현하므로, 루프백 리디렉션, 리프레시 토큰, DPoP, 디바이스 코드, 취소, 인트로스펙션이 모두 함께 제공됩니다.
| 기능 | API | 비고 |
|---|---|---|
| 디스커버리 | OIDCOptions.Issuer, Discover, DiscoveryDocument | 제공자 설정을 읽어 인증 및 토큰 URL, JWKSURI, UserInfoEndpoint, EndSessionEndpoint를 채웁니다. |
| 로그인 | Start | 브라우저를 열고 OAuth2 클라이언트의 로컬 리디렉션 서버를 통해 Authorization Code 플로우를 실행합니다. |
| PKCE와 nonce | OIDCOptions.UsePKCE, Nonce | PKCE는 기본으로 켜져 있으며, 로그인할 때마다 새 nonce를 보내고 ID 토큰이 이를 그대로 반환해야 합니다. |
| ID 토큰 검증 | IDToken, IDTokenClaims, IDTokenValid, OnOIDCIDToken | 서명, 발급자, 대상, ClockSkew를 반영한 만료 시각, nonce를 검증합니다. RS256, RS384, RS512, ES256, ES384만 허용하며 none과 HS 계열 알고리즘은 항상 거부합니다. |
| 키 회전 | TsgcOIDCJWKS, RefetchInterval | 제공자 서명 키의 스레드 안전 캐시입니다. 알 수 없는 키 ID를 만나면 새로 다운로드하므로 키 회전에 재시작이 필요 없습니다. |
| 서버 측 검증 | sgcOIDC_ValidateIDToken, OIDCOptions.AllowedTenants | 같은 키 캐시를 이용해 REST API나 WebSocket 서버가 받는 Bearer 토큰을 검증하며, 다중 테넌트 Entra ID 앱을 허용한 조직으로만 제한합니다. |
| Userinfo | GetUserInfo | 로그인한 사용자의 프로필 JSON을 반환합니다. |
TsgcMailOAuth2는 Microsoft 365와 Gmail이 메일용으로 요구하는 토큰을 가져오고 갱신하며, 메일 클라이언트가 보내는 SASL XOAUTH2 및 OAUTHBEARER(RFC 7628) 문자열로 변환합니다.
| 기능 | API | 비고 |
|---|---|---|
| 제공자 프리셋 | Provider, TenantId, ClientId | 올바른 엔드포인트를 사용하는 mopMicrosoft365 또는 mopGmail. mopCustom은 CustomAuthURL, CustomTokenURL, CustomDeviceAuthorizationURL, CustomScope를 받습니다. |
| 프로토콜에 따른 스코프 | Protocols, GetScope | mpSMTP, mpIMAP, mpPOP3의 어떤 조합이든 해당하는 스코프를 요청하며, Microsoft 365에서는 offline_access가 추가됩니다. |
| 브라우저 또는 디바이스 코드 | Flow, LocalServerOptions, OnDeviceCode | mofAuthorizationCodePKCE는 루프백 리디렉션으로 브라우저를 열고, mofDeviceCode는 서비스와 콘솔 앱에 적합합니다. |
| 토큰 생애 주기 | Start, Refresh, AccessToken, RefreshToken, ExpiresAt, OnTokensChanged | Refresh는 액세스 토큰을 동기적으로 갱신하며 그때마다 OnTokensChanged가 발생하므로 새 리프레시 토큰을 저장할 수 있습니다. |
| SASL 문자열 | GetXOAuth2, GetOAuthBearer | AUTH XOAUTH2와 AUTH OAUTHBEARER용 Base64 초기 응답입니다. Raw 변형과 sgcGetXOAuth2 함수는 디버깅과 다른 토큰 소스에 도움이 됩니다. |
| 전송 방식 무관 | HTTPClientOptions | 이 컴포넌트는 메일 연결을 직접 열지 않습니다. Indy의 TIdSMTP, TIdIMAP4, TIdPOP3나 원시 SASL 명령을 보낼 수 있는 다른 메일 라이브러리와 함께 사용하세요. |
표준 규격이며, 지원하는 모든 컴파일러에서 동일한 소스를 사용합니다.
| 영역 | 내용 |
|---|---|
| OAuth2 표준 | OAuth 2.0(RFC 6749), PKCE(RFC 7636), Device Authorization Grant(RFC 8628), Token Revocation(RFC 7009), Token Introspection(RFC 7662), DPoP(RFC 9449). |
| JWT 표준 | JSON Web Token(RFC 7519), JSON Web Signature(RFC 7515), JSON Web Encryption(RFC 7516), JOSE용 ML-DSA(RFC 9964). |
| WebAuthn 표준 | Web Authentication Level 2(W3C), sgcWebSockets WebAuthn 서버를 통해 제공됩니다. |
| ID 표준 | TOTP(RFC 6238), HOTP(RFC 4226), LDAP v3(RFC 4511), SAML 2.0(OASIS), OpenID Connect Core 1.0, SASL OAUTHBEARER(RFC 7628) 및 XOAUTH2. |
| 플랫폼 | 두 클라이언트 모두 순수 HTTPS와 로컬 서명이므로 모든 Delphi 플랫폼이 지원됩니다. Windows Win32/Win64, Linux 64비트, macOS, iOS, Android. |
| 컴파일러 | Delphi와 C++ Builder 7부터 13까지. |
| 에디션 | OAuth2 클라이언트와 JWT 클라이언트는 sgcWebSockets Standard 에디션부터 함께 제공되며, WebAuthn, TOTP, LDAP, SAML, OpenID Connect, Mail OAuth2 컴포넌트는 Enterprise 에디션에서 제공되고, All-Access에는 모든 것이 포함됩니다. |
| 라이선스 | 단독 제품입니다. sgcWebSockets Core 런타임이 함께 포함되며 전체 소스 코드가 제공됩니다. |