In-App SDK
PocketSign Link v2 では、認証・認可は OIDC フロー、リソースの読み書きは Link v2 API で行います。 In-App SDK は、ポケットサインアプリのミニアプリブラウザ上で動作する際のユーティリティ機能を提供します。
セットアップ
パッケージレジストリの設定
.npmrc ファイルをプロジェクトのルートディレクトリに作成し、以下の内容を追加してください。
@pocketsign:registry=https://repo.platform.p8n.app
//repo.platform.p8n.app/:_authToken=<YOUR_SDK_TOKEN>
<YOUR_SDK_TOKEN> の部分は、SDK 取得用トークンを入力してください。SDK 取得用トークンの取得方法は SDK 取得用トークンの作成を参照してください。
実際のプロジェクトでは、.npmrc に SDK トークンを直接記載しないでください。
また、VCS にトークンが記録されないように注意してください。
インストール
npm install @pocketsign/in-app-sdk
ポケットサインアプリ内判定
isInApp を使って、現在のページがポケットサインアプリのミニアプリブラウザ内で動作しているかどうかを判定できます。
ポケットサインアプリ固有の機能(closeWindow など)を利用する場合に使用します。
import { isInApp } from "@pocketsign/in-app-sdk";
if (isInApp()) {
// ポケットサインアプリ内で動作中
// closeWindow 等のネイティブ機能が使える
} else {
// ブラウザで動作中
// ネイティブ機能は使えない
}
KLON 対応判定
isKLONSupported を使って、現在のポケットサインアプリが KLON(PocketSign Link v2)に対応しているかどうかを判定できます。
KLON 非対応の旧バージョンのアプリで開かれた場合にアップデートを促す用途で使用します。
import {
isKLONSupported,
requestAppUpdate,
} from "@pocketsign/in-app-sdk";
if (!isKLONSupported()) {
// 旧ポケットサインアプリ: アップデートを要求
requestAppUpdate();
return;
}
// KLON ベースのフローへ
詳細は In-App SDK からの移行 を参照してください。
ウィンドウ操作
closeWindow を使って、ミニアプリブラウザのウィンドウを閉じることができます。
import { closeWindow } from "@pocketsign/in-app-sdk";
await closeWindow();
開発・テスト用のモックバックエンド
@pocketsign/in-app-sdk/mock の createMockBackend を使うと、ポケットサインアプリなしでブラウザや自動テスト上で SDK を動作させられます。
createMockBackend() を呼ぶと closeWindow などの SDK インスタンスを必要としない関数もモックに接続されるため、パソコンのブラウザから呼び出せます。
import { closeWindow } from "@pocketsign/in-app-sdk";
import { createMockBackend } from "@pocketsign/in-app-sdk/mock";
// 戻り値を使わない場合も、呼び出した時点でモックが接続されます
createMockBackend();
await closeWindow();
// → { result: "success" }(ポケットサインアプリとは通信しません)
isInApp と isKLONSupported は window のグローバル値を参照するため、モックバックエンドを作成しても false を返します。これらの分岐を検証する場合は、テスト側でグローバル値を差し替えてください。
オプションの一覧、本番バンドルへの混入を防ぐ書き方、実機バックエンドの一部の関数だけをモックする installMock については SDK のバックエンドを参照してください。
関連ページ
- 各関数の引数・戻り値・エラーは In-App SDKリファレンス
- バージョンごとの変更内容は In-App SDK リリースノート
- PocketSign Link v1 からの移行については In-App SDK からの移行
- OIDC の全体像は OIDC の概要
- Link v2 API の全体像は Link v2 API クライアント
- バージョン互換性については バージョン互換性