すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:API 認証

最終更新日:Mar 01, 2026

API 権限付与の利用シーンについて説明します。このトピックでは、API 権限付与を有効にし、権限付与ルールを設定し、権限付与インターフェイスを定義し、これらのルールを API に適用する方法について説明します。

機能紹介

API 権限付与機能を使用すると、Mobile Gateway Service (MGS) 上で一般的な API アクセス権限付与ルールを定義できます。

  1. ゲートウェイ管理で権限付与 API (API A) を作成・設定し、ビジネス API (API B) の設定で API B に関連付けることができます。

  2. クライアントがバックエンドのビジネス API (API B) にリクエストを送信すると、MGS は API 権限付与の設定に基づいてリクエストヘッダーまたは cookie から権限付与パラメーターを抽出します。その後、MGS はこれらのパラメーターをコンテキストに配置し、関連付けられた権限付与 API (API A) を呼び出します。API A のサーバーは、コンテキスト内のパラメーターを使用してビジネス権限のチェックを実行する必要があります。

  3. チェックが成功した場合、MGS はプリンシパルと呼ばれる結果をリクエストヘッダーに追加し、リクエストをバックエンドのビジネス API (API B) に転送します。キャッシュが有効になっている場合、MGS はプリンシパルをキャッシュして権限付与のパフォーマンスを向上させます。

40

利用シーン

シナリオ 1

顧客が分散セッションを使用しているケースです。ユーザーがログインすると、セッション ID が生成されます。権限付与のプロセスは次のとおりです。

  1. ユーザー A がログインをリクエストします。ログインが成功すると、セッション ID とセッション情報が生成され、sessionId: {username:A, age:18, ...} のように分散キャッシュに保存されます。その後、セッション ID がクライアントに送信されます。

  2. ユーザー A がログイン権限付与を必要とする API をリクエストします。ゲートウェイはリクエストヘッダーからセッション ID を取得し、権限付与システムに送信します。権限付与システムはセッション ID を使用して分散キャッシュからユーザー情報を取得し、{username:A, age:18,...} をゲートウェイに返します。

  3. ゲートウェイはログインが成功したことを確認し、{username:A, age:18,...} をリクエストヘッダーに追加して、リクエストをバックエンドビジネスサーバーに転送します。

シナリオ 2

このシナリオでは、ハッシュベースのメッセージ認証コード (HMAC) に基づくクライアント側の権限付与スキームについて説明します。プロセスは次のとおりです。

  1. ユーザー A が正常にログインすると、token=hmac(username+password) のようなトークンがクライアントに送信されます。

  2. ユーザー A がログイン権限付与を必要とする API をリクエストします。ゲートウェイはヘッダーからトークンを取得し、権限付与システムに送信します。権限付与システムは HMAC を再計算します。トークンが一致する場合、システムは {username:A, age:18,...} のようなユーザー情報をゲートウェイに返します。

  3. ゲートウェイはログインが成功したことを確認し、{username:A, age:18,...} をリクエストヘッダーに追加して、リクエストをバックエンドビジネスサーバーに転送します。

手順

権限付与ルールの設定

  1. mPaaS コンソールにログインします。左側のナビゲーションウィンドウで、[バックエンド接続] > [Mobile Gateway Service] を選択します。

  2. [ゲートウェイ管理] タブを選択します。[API 権限付与] で、[権限付与 API の作成] をクリックします。または、既存の権限付与ルールの一覧で、変更したいルールを見つけ、[操作] 列の [詳細] をクリックします。権限付与ルールの設定ページが開きます。

    • 権限付与 API 名:必須。権限付与ルールの名前です。

    • 権限付与 API:必須。リクエストの権限付与を検証するために使用される API です。

    • 権限付与結果のキャッシュ:権限付与の検証結果をキャッシュするかどうかを示します。

    • キャッシュ TTL:検証結果のキャッシュの有効期間です。

    • ID ソース[ソースフィールドの追加] をクリックした場合は、権限付与に使用されるリクエストパラメーターと、以下のフィールドで構成されるリクエスト ID を入力します。

      • 場所:パラメーターの場所 (header または cookie) です。

      • フィールド:パラメーターの名前です。

    説明

    API リクエストに ID ソースフィールドがない場合、権限付与の検証は失敗します。

オーソライザーインターフェイスの定義

説明

バックエンドシステムが提供する権限付与インターフェイスが HTTP タイプの場合、権限付与 API が POST メソッドを使用するように設定する必要があります。

権限付与の関連付けを追加する前に、業務システムで Auth API を開発する必要があります。API が権限付与の検証を必要とする場合、Auth API を呼び出してチェックを実行します。Auth API のリクエストと応答は、以下の標準に従う必要があります。

AuthRequest

public class AuthRequest {
  private Map<String,String> context;
}

AuthResponse

public class AuthResponse {
  private boolean success;
  private Map<String,String> principal;
}

インターフェイス例

@PostMapping("/testAuth")
public AuthResponse testAuth(@RequestBody AuthRequest authRequest) {
    String sid = authRequest.getContext().get("sid");
    Map<String, String> principal = new HashMap<>();
    principal.put("uid", sid + "_uid");
    AuthResponse authResponse = new AuthResponse();
    authResponse.setSuccess(true);
    authResponse.setPrincipal(principal);
    return authResponse;
}
  • 権限付与の応答の success フィールドが true の場合、ゲートウェイはキャッシュポリシーに基づいて principal 情報をキャッシュします。その後、ゲートウェイは principal 情報をリクエストヘッダーに追加し、バックエンドの業務システムに渡します。プリンシパルがない場合でも、空の Map を渡す必要があります。

  • 権限付与の応答の success フィールドが false の場合、ゲートウェイはエラーコード 2000 を返します。クライアントは、ログインダイアログボックスの表示など、対応する操作を実行する必要があります。

権限付与ルールの使用

権限付与ルールを設定した後、API 設定ページに移動します。[詳細設定] > [API 権限付与] で、ルールを選択して API の権限付与を有効にします。

API 権限付与を使用するには、[ゲートウェイ管理] ページで [API 権限付与] 機能が有効になっていることを確認してください。この機能を有効にするには、次の手順を実行します。

  1. mPaaS コンソールにログインします。左側のナビゲーションウィンドウで、[Mobile Gateway Service] メニューをクリックします。

  2. [ゲートウェイ管理] タブで、[API 権限付与] ボタンがオンになっていることを確認します。

API がバックエンドシステムにリクエストを送信する前に、権限付与チェックが実行されます。チェックに合格した場合、ゲートウェイはリクエストを受け入れ、バックエンドシステムにルーティングします。それ以外の場合、ゲートウェイはリクエストを拒否し、呼び出し元は権限付与失敗のエラー応答を受け取ります。