@pocketsign/klon-sdk
    Preparing search index...

    Class OIDCClient

    KLON OIDC クライアント。

    oauth4webapi をベースに、KLON 固有のパラメータ構築 (認可詳細・ACR・prompt 等) と DPoP バインディングを内包する。通常は createClient 経由で生成する。

    認可フローは PKCE (code_challenge_method=S256 のみ) を必須とし、 トークン取得は authorization_code / refresh_token の 2 種の grant_type を扱う。 issuer は環境ごとに異なるため、固定ホスト名を前提にせず ClientConfig.issuer で渡すこと。

    Index

    Constructors

    Methods

    • ネイティブアプリの WebView セッションをバインドする。

      POST {issuer}/api/native/v1/bind (NATIVE_BIND_PATH) を呼び出し、完了 URL を返す。 DPoP が設定されている場合は proof を自動付与する (Authorization: DPoP <token> + DPoP: <proof>)。未設定時は Bearer で送る。

      Parameters

      • bindId: string

        サーバーが発行した bind_id (bound_session_id)

      • accessToken: string

        アクセストークン (DPoP 有効時は DPoP-bound トークン)

      Returns Promise<BindNativeSessionResult>

    • 認可 URL を生成する。

      返された session はコールバック処理に必要なのでセッションストレージに保存すること。 JSON.stringify(session) / JSON.parse() でシリアライズ可能。

      Parameters

      • options: AuthorizeOptions = {}

        認可リクエストのオプション (スコープ・認可詳細・ACR・prompt 等)

      Returns Promise<{ session: AuthorizationSession; url: URL }>

      リダイレクト先の url と、コールバック処理で使う session

    • 認可コードをトークンに交換する。

      Parameters

      • code: string

        コールバックで受け取った認可コード

      • state: string

        コールバックで受け取った state パラメータ

      • session: AuthorizationSession

        createAuthorizationURL() で返されたセッション

      Returns Promise<TokenSet>

    • リフレッシュトークンでアクセストークンを更新する

      Parameters

      • refreshToken: string

      Returns Promise<TokenSet>

    • DPoP 鍵ペアを破棄し、SDK 内部の DPoPHandle キャッシュも無効化する。

      ログアウト・アカウント切替・鍵漏洩時のローテーション等で呼ぶ。 keyStore.clear() 単独ではメモリ上の DPoPHandle (既存鍵ペア) が 残り続け、以後のリクエストも古い鍵で署名されてしまう。このメソッドは KeyStore の clear() に加えて内部キャッシュも破棄するため、 次回リクエスト時に新しい鍵ペアが生成される。

      DPoP 未設定の場合は no-op。

      Returns Promise<void>