MENU

Soracom

Users

ユーザーデータを利用する

Endorse のトークンには IMSI, IMEI, MSISDN などのサーバ側で付与される情報に加え、任意の Key Value ペアを requestParameters として含むことが可能です。 例えば、Web サイトや認証サーバから Endorse エンドポイントにクライアントをリダイレクトさせてトークンを取得させるような場合に、元のサイト側のセッション ID などをトークンに含ませるなどのユースケースが考えられます。

requestParameters を利用するには、まず Endorse の SoracomEndorse.parametersToEndorse に {requestParameters: true} を設定します。 その上で、GET であればクエリパラメータとして、POST であればリクエストボディとして送信された Key Value ペアが Endorse のトークンに含まれます。

requestParameters{"username": "foo", "sessionId": "bar"} を含むトークンを取得する例を示します。

  • GET の場合
$ curl https://endorse.soracom.io?username=foo&sessionId=bar

また、クエリパラメータとして redirect_url というパラメータでクライアントをリダイレクトさせたい URL を設定すると、トークンをクライアントに送る代わりに、トークンを soracom_endorse_token というクエリパラメータとして設定しつつ、指定の URL にクライアントをリダイレクトさせます。

$ curl https://endorse.soracom.io?username=foo&sessionId=bar&redirect_url=https://example.com/login

本機能を利用する場合は、リダイレクト先の URL を SoracomEndorse.authorizedRedirectUrls に予め設定しておく必要があります。指定された URL が設定されていない場合は、リクエストは拒否されます。

  • POST の場合
$ curl -X POST -d "{\"username\":\"foo\",\"sessionId\":\"bar\"}" https://endorse.soracom.io

上記のリクエストを行った場合の応答に含まれる情報の例を下記に示します。

{
  "iss": "https://soracom.io",
  "aud": "soracom-endorse-audience",
  "exp": 1451116301,
  "jti": "hkK7qNyXzEMVAXfTq1MBuA",
  "iat": 1451116121,
  "nbf": 1451116061,
  "sub": "soracom-endorse",
  "soracom-endorse-claim": {
    "imsi": "440XXXXXXXXXXXX",
    "requestParameters": {
      "username": "foo",
      "sessionId": "bar"
    }
  }
}