eSeGeCe — Delphi & .NET 向けエンタープライズ通信コンポーネント
注目 · sgcAuth

OAuth2 と JWT が、Delphi のネイティブコンポーネントに

2 つのコンポーネントが、最新の認証におけるトークンまわりの処理をアプリケーションに持ち込みます。TsgcHTTP_OAuth2_Client は、任意の OAuth2/OIDC プロバイダーに対して Authorization Code、PKCE、Client Credentials、Resource Owner Password、Device Code の各グラントを実行します。TsgcHTTP_JWT_Client は JSON Web Token を構築・署名・検証し、単体でも、WebSocket や HTTP クライアントの Bearer トークン供給源としても機能します。単体で完結しており、sgcWebSockets Core ランタイムを同梱しています。

  • 2 つのクライアントコンポーネント
  • OAuth2 · JWT · WebAuthn
  • 9 件の RFC に対応
  • Delphi 7 から 13 · C++ Builder

2 つのコンポーネントで、トークンのライフサイクルすべてに対応

sgcAuth は単体のパッケージです。土台となる sgcWebSockets Core ランタイムを同梱し、すべてのライセンスに完全なソースコードが付属するため、トークンのやり取りをそのままデバッガーでステップ実行できます。

2 クライアントコンポーネント TsgcHTTP_OAuth2_ClientTsgcHTTP_JWT_Client が、1 つのパレットページにまとまっています。
9 対応 RFC OAuth2、PKCE、DPoP、デバイスコード、JWT/JWS/JWE など。
5 ターゲットプラットフォーム Windows、macOS、Linux 64 ビット、iOS、Android。1 つのソースツリーから。
1 単体のインストーラー sgcWebSockets Core ランタイムと HTTP/TLS レイヤーが、どちらもパッケージ内に同梱されています。
100% ソースコード同梱 すべてのライセンスに、両コンポーネントと同梱ランタイムの完全なソースが付属します。
sgcAuth

Delphi と C++ Builder 向けの OAuth2 クライアント、JWT クライアント、WebAuthn パスキー対応です。sgcWebSockets Core ランタイムを同梱した単体パッケージで、完全なソースコードが付属し、ロイヤリティフリーで配布できます。

役割ごとに 1 コンポーネント、API スタイルは 1 つ

コンポーネントをフォームに配置し、プロバイダーまたは鍵の詳細を設定し、イベントを接続してから、Start または Sign を呼び出します。命名は両方で一貫しているため、どのグラントやアルゴリズムを使っても、認証フローは同じように読めます。

OAuth2

5 つのグラントタイプを 1 つのコンポーネントで

TsgcHTTP_OAuth2_ClientOAuth2Options.GrantType を通じて、信頼できるサーバーサイドアプリ向けの auth2Code、ネイティブ・モバイル・シングルページアプリ向けの auth2CodePKCE、デーモンやサービスアカウント向けの auth2ClientCredentialsauth2ResourceOwnerPassword、そしてスマート TV やキオスクなど入力に制約のあるデバイス向けの auth2DeviceCode(RFC 8628)を駆動します。Start はシステムブラウザを開き、LocalServerOptions からリダイレクトを受け取る小さなローカル HTTP サーバーを立ち上げ、素の HTTPS でコードをトークンに交換します。その後のトークンのライフサイクルは RefreshRevokeIntrospect がカバーし、DPoPOptions が、それを要求するプロバイダー向けに DPoP プルーフオブポゼッション(RFC 9449)を追加します。

OAuth2 クライアントを見る →
JWT

署名、アタッチ、検証。選ぶのはあなた次第

TsgcHTTP_JWT_ClientJWTOptions を通じて、RFC 7519 が必要とするすべてを公開します。JOSE Header、登録済みの Payload クレーム(isssubaudexpnbfiatjti、さらにカスタムクレーム)、そして HMAC、RSA、ECDSA 向けの鍵素材です。Sign を呼び出せば、コンパクトシリアライズされたトークンをその場で取得できます。あるいは RefreshTokenAfter を設定すれば、コンポーネントが自動的に再署名します。同じコンポーネントは TsgcWebSocketClientTsgcHTTP1ClientTsgcHTTP2ClientAuthentication.Token.JWT にそのまま接続できるため、送信するすべてのリクエストに新しい Bearer トークンが付与されます。

JWT クライアントを見る →
WebAuthn

パスキー、sgcCustomIndy 経由で

パスワードレスサインインは TsgcWSAPIServer_WebAuthn が提供します。これは sgcWebSockets Enterprise/All-Access のコンポーネントで、sgcCustomIndy がアドオンとして提供するパッチ済み Indy ライブラリの上に構築されています。sgcAuth を注文すると自動的に追加されます。

できることを見る →
ユースケース

サインイン、サービスアカウント、そして自前の API

Google や Microsoft でのサインイン、サーバー間の API アクセス、スマート TV やキオスク、再認証なしの長時間セッション、そして自前の WebSocket や HTTP API 向けの Bearer トークン。どちらのコンポーネントも、VCL アプリケーション、FMX アプリケーション、サービス、コンソールプロセスの中で問題なく動作します。

機能マトリックス →
クロスプラットフォーム

純粋な HTTPS と署名処理、ネイティブライブラリは不要

どちらのコンポーネントも、Core ランタイムの HTTP クライアントスタックとプラットフォームの暗号プリミティブ以外には依存しないため、Delphi が動作する場所であればどこでもコンパイルして実行できます。Delphi 7 から RAD Studio 13 まで、そして C++ Builder でも。

機能マトリックス →

各コンポーネントのリファレンスページ:

トークンを取得し、トークンに署名する

オプションを設定してから、メソッドを呼び出します。どちらのコンポーネントも Delphi 7 から 13、そして C++ Builder でコンパイルでき、同じプロパティが .NET でも公開されています。

uses
  sgcHTTP_OAuth2_Client;
var
  OAuth2: TsgcHTTP_OAuth2_Client;
begin
  OAuth2 := TsgcHTTP_OAuth2_Client.Create(nil);
  OAuth2.OAuth2Options.GrantType := auth2CodePKCE;
  OAuth2.OAuth2Options.ClientId := 'your-client-id';
  OAuth2.AuthorizationServerOptions.AuthURL := 'https://provider.com/oauth2/authorize';
  OAuth2.AuthorizationServerOptions.TokenURL := 'https://provider.com/oauth2/token';
  OAuth2.AuthorizationServerOptions.Scope.Text := 'openid profile';
  OAuth2.LocalServerOptions.IP := '127.0.0.1';
  OAuth2.LocalServerOptions.Port := 8080;

  OAuth2.OnAfterAccessToken := OAuth2AccessToken;
  OAuth2.Start;   // opens the browser; the redirect lands on the local server
end;

procedure TForm1.OAuth2AccessToken(Sender: TObject);
begin
  Memo1.Lines.Add('Access token received.');
end;
uses
  sgcHTTP_JWT_Client;
var
  JWT: TsgcHTTP_JWT_Client;
begin
  JWT := TsgcHTTP_JWT_Client.Create(nil);
  JWT.JWTOptions.Header.alg := jwtHS256;
  JWT.JWTOptions.Algorithms.HS.Secret := '79F66F1E-E998-436B-8A0A-3E5DEFA4FD9E';
  JWT.JWTOptions.Payload.iss := 'your-service';
  JWT.JWTOptions.Payload.sub := '1234567890';
  JWT.JWTOptions.Payload.iat := DateTimeToUnix(Now);

  ShowMessage(JWT.Sign);

  // or attach it to a WebSocket / HTTP client directly:
  // Client.Authentication.Token.Enabled := True;
  // Client.Authentication.Token.JWT := JWT;
end;

Object Pascal でも C++ Builder でも同じ形です。完全な機能マトリックス →

最初に知っておきたい 3 つのこと

sgcAuth が求めるもの、これらのコンポーネントをすでにお持ちかどうか、そして WebAuthn がさらに必要とするものです。3 つとも答えは短く、細かい注記の中ではなく、このページに書いてあります。

コンポーネントとグラント
役割         コンポーネント              グラント / アルゴリズム
OAuth2       TsgcHTTP_OAuth2_Client   Code, PKCE, Client Credentials,
                                       Resource Owner Password, Device Code
JWT          TsgcHTTP_JWT_Client      HS256/384/512, RS256/384/512, ES256/384/512

すでにお持ちですか?
OAuth2 クライアントと JWT クライアントは、いずれも
  sgcWebSockets の Standard エディション以上に含まれています。
sgcAuth は、sgcWebSockets の完全なエディションなしで
  OAuth2 + JWT をライセンスするためのものです。

sgcAuth は単体製品です

単体で完結しており、sgcWebSockets Core ランタイムが含まれています。両コンポーネントがトークンリクエストを POST する HTTP/TLS クライアントスタックと、レスポンスを解析する JSON 機構です。1 つのインストーラーに、完全なソースコードが同梱されています。

お使いの sgcWebSockets エディションにすでに含まれていませんか?

OAuth2 クライアントと JWT クライアントは、いずれも sgcWebSockets の Standard エディション以上に含まれているため、お使いの sgcWebSockets エディションが何であれ、両コンポーネントはすでに手元にあります。sgcAuth はその逆のケースのために存在します。sgcWebSockets の完全なエディションをライセンスすることなく、OAuth2 と JWT のクライアント機能を使いたい場合です。

WebAuthn には sgcCustomIndy が必要です

WebAuthn によるパスワードレスサインインは TsgcWSAPIServer_WebAuthn が提供します。これは sgcWebSockets Enterprise/All-Access のコンポーネントで、sgcCustomIndy がアドオンとして提供するパッチ済み Indy ライブラリの上に構築されています。WebAuthn には sgcCustomIndy アドオンが必要で、sgcAuth を注文すると自動的に追加されます。すでに sgcCustomIndy のライセンスをお持ちですか? チェックアウト前にカートから自動追加された項目を削除してください。どちらの場合も追加料金は発生しません。

Delphi と C++ Builder

sgcAuth は、Delphi 7 から RAD Studio 13 まで、そして C++ Builder をターゲットにしています。無料体験版インストーラーは sgcWebSockets All-Access の体験版なので、今日にも両方のコンポーネントを評価できます。

PKCE デバイスコード DPoP HMAC · RSA · ECDSA 完全なソース

すべてのコンポーネントとプロパティ →

sgcAuth はベンダー SDK をラップするのではなく、公開された OAuth2/OIDC と JWT/JWS の標準を直接話すため、プロバイダーは自由に選べます。Google、Microsoft、Auth0、Okta、Keycloak、あるいは任意の RFC 準拠の認可サーバーです。グラント、リフレッシュ、失効、署名はすべて第一級のメソッドとイベントであり、完全なソースコードにより、その間に何もブラックボックスは存在しません。

12 個のライブラリ、1 つのツールボックス

sgcAuth は、Delphi、C++ Builder、.NET 向けの eSeGeCe コンポーネントライブラリ 12 製品のひとつです。共通の設計思想を持ち、完全なソースが付属し、ロイヤリティフリーで配布できます。

sgcAuth

Delphi と C++ Builder 向けの OAuth2 クライアント、JWT クライアント、WebAuthn 対応。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcHTTP

Delphi と C++ Builder 向けの HTTP/2 クライアント、gRPC クライアント、そして Google Cloud の Pub/Sub、Calendar、FCM クライアントです。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcWebSockets

Delphi、C++ Builder、Lazarus、.NET 向けの WebSocket、HTTP/2、MQTT、AMQP、WebRTC、AI、そして 30 を超える API 統合。Core ランタイムはここにあります。

詳しく見る →

sgcMQ

Delphi と C++ Builder 向けの MQTT、AMQP 0.9.1 および 1.0、Apache Kafka、STOMP のクライアントコンポーネント。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcSocial

Delphi と C++ Builder 向けの Telegram および WhatsApp Business のクライアントコンポーネント。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcHTML

Bootstrap 5 と htmx を基盤とする、サーバーサイド HTML / UI コンポーネントです。WebAuthn ログイン UI コンポーネントも含みます。

詳しく見る →

sgcQUIC

生の QUIC トランスポートと HTTP/3 のクライアントおよびサーバー、WebTransport 対応。sgcWebSockets Enterprise のアドオンです。

詳しく見る →

sgcAI

Delphi と C++ Builder 向けの AI、LLM、MCP コンポーネント。1 つのコンポーネントで 7 社の LLM プロバイダーに対応し、MCP、埋め込み、音声も利用できます。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcOpenAPI

OpenAPI 3.x パーサー、ネイティブ Pascal SDK ジェネレーター、OpenAPI サーバーコンポーネント、そして 1,195 以上のビルド済みクラウド SDK。

詳しく見る →

sgcSign

ドキュメントには XAdES、PAdES、CAdES、ASiC、コードには Authenticode、ClickOnce、NuGet、VSIX。

詳しく見る →

sgcBiometrics

Delphi と C++ Builder 向けの Windows Hello、指紋センサー、Windows Biometric Framework。

詳しく見る →

sgcIndy

モダンな TLS、IPv6、HTTP/2 に対応した更新版 Indy TCP/IP コンポーネント。Delphi 7 から 13 まで対応します。

詳しく見る →

価格とライセンスを見る 体験版をダウンロード

開発者の声

世界中の Delphi、C++ Builder、Lazarus、.NET 開発者から信頼されています。

sgcWebSockets ライブラリはとても便利でセットアップも簡単です。これからも頑張ってください!

Simone Moretti Delphi Developer

sgcWebSockets は素晴らしく、サポートも最高です!

Christian Meyer Founder & CTO

ご支援とサポートに本当に感謝しています。コンポーネントが大好きです。

Mark Steinfeld CTO

現在は eSeGeCe の 認証 ビューを表示しています。

別の切り口を見る →

トークンライブラリではなく、認証機能を届ける

OAuth2 と JWT を 1 つのパッケージに。sgcWebSockets Core ランタイムを同梱し、完全なソースコードも同梱済みです。