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 ランタイムを同梱しています。

  • OAuth2
  • JWT
  • WebAuthn パスキー
  • PKCE、Device Code、DPoP
  • Delphi 7~13
  • C++ Builder
  • 完全なソースコード
  • 2パレットの 1 ページにまとまったクライアントコンポーネント、OAuth2 と JWT
  • 9実装済みの RFC: OAuth2、PKCE、DPoP、Device Code、JWT/JWS/JWE など
  • 5対応プラットフォーム: Windows、macOS、Linux 64 ビット、iOS、Android
  • 1単体インストーラー、Core ランタイム内蔵
  • 100%すべてのライセンスにソースコードが含まれます
動作を見る

2 分でわかる sgcAuth。

Delphi から使う、クライアント側とサーバー側の JWT、OAuth2、WebAuthn。ナレーションと字幕付きです。再生ボタンを押すまで、何もダウンロードされません。

sgcAuth クイックスタート

トークン、委任された認可、パスキーを 1 つのパッケージで。

  1. 3 つの入口ユーザーがわかっている場合は JWT、第三者が ID を保持している場合は OAuth2、パスワードがまったくない場合は WebAuthn。
  2. JWT に署名アルゴリズムと秘密鍵を設定し、標準クレームを入力してから、コンポーネントを WebSocket または HTTP クライアントに Bearer トークンとして添付します。
  3. サーバーで検証署名、 exp と nbf が検証され、不正なトークンを持つリクエストがハンドラーに届くことはありません。
  4. 1 つのコンポーネントで OAuth2クライアント ID、プロバイダーの URL、スコープ、グラントタイプを設定します。ブラウザーを開き、ローカルのリダイレクトサーバーも自動で実行します。
  5. WebAuthn とパスキー登録とアサーションは、サーバーコンポーネントが処理します。秘密鍵はデバイスの外に出ません。
パックの内容

仕事ごとに 1 つのコンポーネント、同じ API スタイル。

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

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

TsgcHTTP_OAuth2_Client は OAuth2Options.GrantType を通じて、信頼できるサーバーサイドアプリ向けの auth2Code 、ネイティブ・モバイル・シングルページアプリ向けの auth2CodePKCE 、デーモンやサービスアカウント向けの auth2ClientCredentials 、 auth2ResourceOwnerPassword、そしてスマート TV やキオスクなど入力に制約のあるデバイス向けの auth2DeviceCode (RFC 8628)を駆動します。

OAuth2 クライアントを見る →

トークンのライフサイクル全体

Start はシステムブラウザを開き、 LocalServerOptions からリダイレクトを受け取る小さなローカル HTTP サーバーを立ち上げ、素の HTTPS でコードをトークンに交換します。その後のトークンのライフサイクルは Refresh、 Revoke と Introspect がカバーし、 DPoPOptions が、それを要求するプロバイダー向けに DPoP プルーフオブポゼッション(RFC 9449)を追加します。

ライフサイクルのメソッド →

署名、添付、検証を自由に選択

TsgcHTTP_JWT_Client は JWTOptionsを通じて、RFC 7519 が必要とするすべてを公開します。JOSE Header、登録済みの Payload クレーム(iss、 sub、 aud、 exp、 nbf、 iat、 jti、さらにカスタムクレーム)、そして HMAC、RSA、ECDSA 向けの鍵素材です。 Sign を呼び出せば、コンパクトシリアライズされたトークンをその場で取得できます。あるいは RefreshTokenAfter を設定して、コンポーネントに自動で再署名させることもできます。

JWT クライアントを見る →

リクエストごとに新しい Bearer トークン

JWT コンポーネントは Authentication.Token.JWT を介して、 TsgcHTTP1Client、 TsgcHTTP2Client と Authentication.Token.JWTにそのまま接続でき、ヘッダー用のコードを 1 行も書かずに、すべての送信リクエストに新しい Bearer トークンが付きます。

コードを見る →

パスキー、sgcCustomIndy 経由で

パスワードレスサインインは TsgcWSAPIServer_WebAuthnは、sgcCustomIndy がアドオンとして提供するパッチ適用済みの Indy ライブラリ上に構築された、sgcWebSockets Enterprise/All-Access のコンポーネントです。sgcAuth を注文すると常に含まれ、TOTP、LDAP、SAML、OpenID Connect、Mail OAuth2 の各コンポーネントも同様です。

できることを見る →

サインイン、サービスアカウント、独自の API

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

機能マトリックス →

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

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

機能マトリックス →

任意のプロバイダー、プリセット付き

sgcAuth はベンダーの SDK をラップするのではなく、公開されている OAuth2/OIDC と JWT/JWS の標準に直接対応するため、プロバイダーは自由に選べます。Google、Microsoft、Auth0、Okta、Keycloak、あるいは RFC に準拠した任意の認可サーバーが使えます。Google と Microsoft のプリセットが用意されており、一般的なエンドポイントとスコープを自動で設定します。

プロバイダーの設定 →

完全なソースコード、ロイヤリティフリー

sgcAuth は単体のパッケージです。基盤となる sgcWebSockets Core ランタイムを同梱し、すべてのライセンスに完全なソースコードが含まれるため、トークンのやり取りを自分のデバッガーでステップ実行できます。配布はロイヤリティフリーです。

価格を見る →

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

コード

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

オプションを設定してから、メソッドを呼び出します。どちらのコンポーネントも 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 でも同じ形です。 完全な機能マトリックス →

  1. フォームにコンポーネントを配置TsgcHTTP_OAuth2_Client と TsgcHTTP_JWT_Client は同じパレットページに並んでいます。
  2. プロバイダーまたはキーを設定OAuth2 では認可 URL とトークン URL、クライアント ID、スコープ。JWT ではアルゴリズム、秘密鍵または鍵ペア、クレーム。
  3. イベントを接続OnAfterAccessToken がトークンを渡します。更新、失効、イントロスペクションの呼び出しも同じパターンです。
  4. Start または Sign を呼び出すまたは、JWT コンポーネントを WebSocket か HTTP クライアントに渡せば、すべてのリクエストに新しい Bearer トークンが添付されます。
詳しく見る

3 つの入口、1 つのパッケージ。

sgcAuth クイックスタート動画のフレーム。

JWT はクライアントコンポーネントから Bearer トークンとしてサーバーへ送られ、署名、exp、nbf、iss、aud が検証されます

クライアントで署名し、サーバーで検証。

JWT クライアントは HMAC、RSA、ECDSA で署名し、 Authorization: Bearer ヘッダーとして送られます。受信側では、同じ秘密鍵または公開鍵で署名が検証され、期限切れや有効期間前のトークンは拒否され、不正なトークンを持つリクエストがハンドラーに届くことはありません。

sgcAuth の OAuth2 グラントタイプ: 認可コード、PKCE 付きコード、クライアントクレデンシャル、リソースオーナーパスワード、デバイスコード。更新、失効、イントロスペクション、DPoP に対応

アプリに合ったグラントを選択。

バックエンドを持つ Web アプリには Authorization Code、ネイティブアプリとモバイルアプリには PKCE、マシン間通信には Client Credentials、テレビやゲーム機には Device Code。更新、失効、イントロスペクション、DPoP もまとめて処理されます。

ブラウザー、オーセンティケーター、サーバー間の WebAuthn フロー: チャレンジ、署名、検証

パスワードなし、漏えいする共有秘密もなし。

サーバーがランダムなチャレンジを送り、オーセンティケーターが秘密鍵で署名し、サーバーが保存済みの公開鍵で検証します。ユーザーはパスキー、指紋、ハードウェアキーでサインインでき、秘密鍵はデバイスの外に出ません。

購入前に

最初に知っておきたいことが 4 つあります。

sgcAuth に必要なもの、これらのコンポーネントをすでにお持ちかどうか、WebAuthn に追加で必要なもの、対応する IDE。答えは短く、細かい注記の中ではなく、このページに書いてあります。

job          component                grants / algorithms
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

already own it?
Both the OAuth2 Client and the JWT Client ship inside
  sgcWebSockets from the Standard edition up.
sgcAuth is for licensing OAuth2 + JWT without a full
  sgcWebSockets edition.
  1. sgcAuth は単体製品ですsgcWebSockets Core ランタイムが含まれます。両コンポーネントがトークンリクエストを POST する HTTP/TLS クライアントスタックと、レスポンスを解析する JSON の仕組みです。インストーラーは 1 つで、完全なソースコードが付属します。
  2. お使いの sgcWebSockets エディションにすでに含まれていませんか?どちらのクライアントも、Standard エディション以上の sgcWebSockets に含まれています。sgcAuth は逆のケースのためのものです。sgcWebSockets のエディションをライセンスせずに、OAuth2 と JWT のクライアントを使えます。
  3. WebAuthn には sgcCustomIndy が必要ですTsgcWSAPIServer_WebAuthn は、sgcCustomIndy がアドオンとして提供するパッチ適用済みの Indy ライブラリ上に構築されています。sgcAuth を注文すると常に含まれ、表示されている sgcAuth の価格にすでに含まれています。
  4. Delphi と C++ BuildersgcAuth は、Delphi 7 から RAD Studio 13 まで、そして C++ Builder をターゲットにしています。無料体験版インストーラーは sgcWebSockets All-Access の体験版なので、今日にも両方のコンポーネントを評価できます。

グラント、更新、失効、署名はすべて専用のメソッドとイベントとして用意され、完全なソースコードが付属するため、中身がブラックボックスになることはありません。 すべてのコンポーネントとプロパティ →

sgcWebSockets の一部

単体でライセンスすることも、すでにお持ちのエディションに含まれていることもあります。

sgcAuth は sgcWebSockets ファミリーのパッケージの 1 つです。Core ランタイム同梱の単体製品として購入するか、Standard 以上の任意の sgcWebSockets エディションで両クライアントを入手できます。

sgcAuth

OAuth2 と JWT のクライアント。単体製品で、sgcWebSockets Core ランタイムを含みます。

€298 / Single ライセンス
  • OAuth2 クライアント: Authorization Code、PKCE、Client Credentials、Device Code
  • トークンの発行、署名、検証を行う JWT クライアント
  • sgcCustomIndy 経由の WebAuthn パスキー(同梱)
  • sgcCustomIndy 経由の TOTP、LDAP、SAML、OpenID Connect、Mail OAuth2
  • 完全なソースコードと 1 年間のアップデート
sgcAuth の価格 →

Team と Site

同じパッケージを、チーム全体またはサイト全体向けにライセンスします。

Team €498 Site €798
  • Single ライセンスのすべてを含む
  • sgcWebSockets Core ランタイムの使用権は追加料金なし
  • WebAuthn に必要な sgcCustomIndy も常に含まれる
  • Delphi 7~13 と C++ Builder
ライセンスを比較 →

sgcWebSockets

フルライブラリ: WebSocket のクライアントとサーバー、HTTP/2、IoT、P2P、AI の各コンポーネント。そのエディションには OAuth2 と JWT のクライアントも含まれます。

€380 / Standard
  • Standard エディション以上で両クライアントを利用可能
  • WebAuthn、TOTP、LDAP、SAML、OpenID Connect、Mail OAuth2 の各コンポーネントは Enterprise に含まれます
  • Core ランタイムはここにあります
sgcWebSockets を見る →

いずれかの sgcWebSockets エディションをお持ちなら、両クライアントはすでに利用できます。sgcAuth は、sgcWebSockets のエディションをライセンスせずに OAuth2 と JWT を使いたい方のための製品です。

価格とライセンスを見る
お客様の声

開発者の声

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

sgcWebSockets ライブラリはとても便利でセットアップも簡単です。これからも頑張ってください!
Simone Moretti Delphi Developer
sgcWebSockets は素晴らしく、サポートも最高です!
Christian Meyer Founder & CTO
ご支援とサポートに本当に感謝しています。コンポーネントが大好きです。
Mark Steinfeld CTO

トークンライブラリではなく、認証を出荷しよう。

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

エコシステム

eSeGeCe のその他の製品

sgcAuth は、Delphi、C++ Builder、.NET 向けの eSeGeCe コンポーネントライブラリの 1 つです。共通の規約を持ち、完全なソースコード付きで提供され、ロイヤリティフリーで配布できます。

sgcWebSockets

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

sgcHTTP

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

sgcREST

Delphi と C++ Builder 向けの REST サーバー、OpenAPI サーバー、OpenAPI クライアントのコンポーネント。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

sgcMQ

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

sgcAI

Delphi と C++ Builder 向けの AI、LLM、MCP コンポーネント。1 つのコンポーネントで 7 社の LLM プロバイダーに対応し、MCP、埋め込み、音声も利用できます。単体製品で、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 のアドオンです。

sgcOpenAPI

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

sgcSign

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

sgcPDF

PDF ファイルの作成、編集、表示、署名、墨消し、検証を純粋な Object Pascal で提供します。DLL の配布は不要で、単体でライセンスされます。

sgcBiometrics

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

パック、アドオンなど

ブログの最新記事

すべての記事を見る →

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

別の切り口を見る →
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る