販売者(Usakeyの利用者)向け

製品アプリに認証を組み込む

AIアシスタント(MCP)に任せる方法と、SDKを自分で組み込む方法の2通りを説明します。

対象プラン
検証 個人 チーム 大規模
操作する人
オーナー 管理者 メンバー

2つの進め方

製品アプリに「ライセンスキーで端末を認証し、機能を使ってよいかを判定する」処理を組み込みます。どちらの進め方でも、使うのはUsakeyの公式SDKで、製品アプリの端末の中で鍵を作り、Usakeyの署名付きの応答を確かめます。

AIアシスタントに任せる場合と、SDKを自分で組み込む場合の違い
比べる点AIアシスタントに任せるSDKを自分で組み込む
向いている場合Claude CodeやCodexを使っていて、組み込みからテストまで任せたい組み込む場所や画面を自分で細かく決めたい
用意するものAIアシスタント(MCPに対応したもの)SDKと、製品アプリの言語のビルド環境
使う画面「AIアシスタントの接続」とブラウザの許可画面「API・SDK」

AIアシスタントに任せる

UsakeyはAIアシスタント向けのMCPサーバー(https://usakey.jp/mcp)を公開しています。AIアシスタントに登録してブラウザで許可すると、AIがUsakeyのスキル(AI向けの手順書)を読み、製品アプリへの組み込みを進めます。APIキーやNode.jsの用意は要りません。

  1. 手順1接続の手順を開く

    左のメニューの「AIアシスタントの接続」を開きます。まだ接続が無いときは、ここに「接続の手順を見る」が表示されます。

    AIアシスタントの接続の画面。まだ接続が無く、接続しているAIアシスタントはありませんという表示と、接続の手順を見るボタンがある。
  2. 手順2AIアシスタントにMCPサーバーを追加する

    Claude CodeやCodexのように、コマンドを実行できるAIアシスタントに、次の指示文を貼り付けてください。AIがMCPサーバーを追加し、ブラウザでログインして許可する手順を案内します。

    https://usakey.jp/mcpをUsakeyのMCPサーバーとして、このAIアシスタントにusakeyという名前で追加してください(HTTPS接続)。追加できたら、ブラウザでUsakeyにログインして接続を許可する手順を教えてください。

    AIが追加を終えると、ブラウザでUsakeyの画面が開きます(Claude Codeでは、AIの案内に従って /mcp から usakey を選んで「Authenticate」を押します)。

    ほかのAIアシスタントの登録方法は、開発者ドキュメントの「MCPを追加する」にあります。

  3. 手順4接続を確かめて、AIに頼む

    許可した接続は、管理画面の「AIアシスタントの接続」に表示されます。あとはAIアシスタントに、日本語で頼むだけです。

    UsakeyのMCPのスキルを使って、RustとGPUIでシンプルな時計アプリを作って、ライセンス認証と状態表示を実装して

    接続の見直しや取り消しはAIアシスタントの接続を管理するで説明します。

    AIアシスタントの接続の一覧。許可した接続が1件、アプリ名・許可した範囲・接続した日時とともに表示されている。

SDKを自分で組み込む

  1. 手順5接続に使う値と設定ファイルを取り出す

    左のメニューの「API・SDK」を開きます。「接続に使う値をコピーする」に、製品アプリの設定へ入れる値(APIのURL・製品ID・「署名検証用の公開鍵一覧」)が並びます。どれも秘密の情報ではありません。

    「接続設定をダウンロード」を押すと、これらの値と最初に信頼する公開鍵をまとめた usakey.config.json を保存できます。製品のリポジトリへ置くと、SDKのひな形やAIアシスタントがそのまま読み込みます。

    API・SDKの画面のステップ1。APIのURLとコピーボタン、製品ごとの製品ID(画像では伏せ字)と署名検証用の公開鍵一覧のURL、接続設定をダウンロードするボタンが表示されている。
  2. 手順6SDKとひな形を取り出す

    「製品アプリへ組み込む」で「自分でSDKを使って実装する」のタブを開き、「公式SDKを使う」の「SDKをダウンロード」を押します(最初に開いているのは「AIにライセンス機能の組み込みを依頼する」のタブです)。SDKには、各言語の組み込み口と、Node.jsとPythonの組み込みのひな形(starters)が入っています。ひな形は、認証・定期確認・機能ごとの判定・認証の解除と、利用者への表示の文言(日本語・英語)までを実装済みで、製品のソースへ写して使います。

    API・SDKの画面のステップ2で、自分でSDKを使って実装するのタブを開いたところ。公式SDKを使う(SDKをダウンロードするボタンと対応言語)と、自分で実装する場合の手順(4つの項目)が表示されている。
  3. 手順7機能の入口ごとに判定する

    Pythonのひな形なら、次のように使います。export_pdf は、利用ルールの「製品アプリへ渡す機能・数量(JSON)」に入れた名前です(はじめての設定)。

    license = LicenseManager(
        load_config(Path("usakey.config.json").read_text(encoding="utf-8")),
        create_open_client(),              # SDKのPython版を使う
        FileStateStore(directory),
        FileKeyStore(directory),
        plan="developer",                  # 販売元(あなた)のプラン
        locale="ja",
    )
    
    license.activate(user_entered_key)     # 初回だけ。キーは保存しない
    license.check()                        # 起動時と、予定の時刻に確認する
    decision = license.require_feature("export_pdf")
    if not decision["allowed"]:
        show_message(decision["title"], decision["action"])
    • 判定は画面の表示ではなく、保護する機能の入口(ボタン、メニュー、ショートカット、コマンドなど)ごとに呼びます。
    • 状態の確認は、ひな形が決める予定の時刻に送ります。起動のたびに何度も確認すると、1日の回数の上限にすぐ達します。
    • SDKが確かめるのは、Usakeyの署名付きの応答です。ライセンスキーは端末に保存しません。

    Node.jsのひな形の使い方、ほかの言語での組み込み、APIの仕様は、SDKのREADMEと開発者ドキュメントにあります。

ブラウザアプリの認証とCORS

GodotやWASMなどを使ってブラウザ上で動く製品アプリが、CORS制約でUsakeyに直接接続できない場合に設定します。アプリの配信元を登録して有効にすると、ブラウザから端末認証やライセンス確認を直接行えます。

管理画面の「製品」で対象の製品を編集し、「ブラウザからのライセンス認証」にアプリの配信元を登録して有効にしてください。

配信元には「https://game.example.com」のように、アプリを配信するURLのスキーム・ホスト名・必要なポート番号を入力してください。パスは含めません。HTTPSの配信元を最大20件まで登録できます。テスト製品では、localhostなどローカル環境のHTTP接続も使えます。

許可した配信元から、端末認証やライセンス確認を直接行えます。端末の署名と応答の署名検証は引き続き必要です。管理画面や管理APIには適用されません。

GodotやWASMでの通信方法、MCP・管理APIでの設定手順は、開発者ドキュメントを確認してください。 ブラウザから認証する手順

組み込んだら確かめる

組み込みが終わったら、発行したライセンスキーで端末を認証し、ライセンスを一時停止すると製品アプリが止まり、再開すると戻ることを確かめてください。手順は認証のオン/オフを確かめるにあります。

画面はテスト環境で架空のデータを使って撮影しています。製品IDなどの識別子、ライセンスキー、認証トークンは伏せています。画面の細部は、改善に合わせて変わることがあります。