Password authentication with scoped authorization#
スコープを指定し、パスワード認証方式を使用して認証とトークンを生成します。
APIエンドポイント#
リージョン | APIエンドポイント |
---|---|
西日本リージョン3の場合 | https://identity.jp-west-3.cloud.global.fujitsu.com |
東日本リージョン3の場合 | https://identity.jp-east-3.cloud.global.fujitsu.com |
HTTPメソッドとURI#
POST
/v3/auth/tokens
HTTPステータスコード#
正常時:201
エラー時:400, 401, 403, 404, 405, 409, 413, 415, 503
リクエストパラメータの説明#
名前 | In | Type | デフォルト値 /必須指定 |
Description |
---|---|---|---|---|
nocatalog | query | string | 任意 | 認証のレスポンスでカタログを省略するかどうかを指定します。デフォルトでは、カタログは省略されません。 |
name | body | string | 任意 | ユーザー名 IDを省略する場合は、必須です。 ユーザー名を指定する場合はIDまたは名前でドメインを指定する必要があります。 |
auth | body | object | 必須 | 認証情報のオブジェクト |
user | body | object | 必須 | ユーザーのオブジェクト |
scope | body | string | 任意 | 認証のスコープ、システム、プロジェクトまたはドメインのどれかを指定します。 ドメインとプロジェクト両方をスコープにすることはできません。 - プロジェクトを指定する場合は、IDまたは名前とドメインの組み合わせで指定します。 - ドメインを指定する場合は、ドメインのIDまたは名前で指定します。 |
password | body | object | 必須 | パスワードのオブジェクト |
id | body | string | 任意 | ユーザーのID ユーザー名を省略する場合は、必須です。 |
identity | body | object | 必須 | アイデンティティのオブジェクト |
methods | body | array | 必須 | 認証方法 パスワード認証の場合は、「password」を指定します。 |
レスポンスボディ(正常系)の説明#
名前 | Type | Description |
---|---|---|
X-Subject-Token | string | 認証用トークン 認証用のレスポンスはトークンIDをレスポンスボディではなく、このヘッダーに挿入して返却されます。 |
domain | object | ドメインのオブジェクト |
region_id | string | サービスエンドポイントを含めるリージョンのID |
methods | array | 認証方法 パスワード認証の場合は、「password」を指定します。 |
roles | array | ロールオブジェクトのリスト |
url | string | エンドポイントのURL |
region | string | サービスエンドポイントの場所(非推奨) |
token | object | トークンのオブジェクト |
expires_at | string | トークンの有効期限 日時は以下の「ISO 8601」の形式で表示されます。 CCYY-MM-DDThh:mm:ss.sssZ 例: 2015-08-27T09:49:58.000000Z 「null」はトークンの有効期限がないことを表します。 |
project | object | プロジェクトのオブジェクト |
system | object | システムのオブジェクト |
issued_at | string | トークンの発行日時 「ISO 8601」の形式で表示されます。 CCYY-MM-DDThh:mm:ss.sssZ 例: 2015-08-27T09:49:58.000000Z |
catalog | array | カタログのオブジェクト |
user | object | ユーザーのオブジェクト |
audit_ids | array | 1つまたは2つの監査ID 監査IDとはランダムに生成されるURLに挿入可能な一意の文字列です。監査IDでトークンを追跡することができます。1つ目の監査IDは現在のトークンのIDです。 - トークンが違うスコープ、または同じスコープを持つトークンで交換される場合は、re-scoped token(スコープ再設定済みのトークン)です。 - re-scopedトークンの場合は、2つ目の監査IDはスコープ再設定の前のIDです。このIDを使って、権限を持たないユーザーにトークンIDを公開せずに、複数のリクエストおよびエンドポイントをまたがって、トークンを追跡することができます。 |
interface | string | エンドポイントの可視性を表すインターフェースのタイプ - publicの場合は、公開されているネットワークインターフェースで、各ユーザが確認することができます。 - internalの場合は、制限がない内部のインターフェースで、各ユーザーが確認することができます。 - adminの場合は、制限されているネットワークインターフェースで、管理者ユーザーが確認することができます。 |
endpoints | array | エンドポイントのリスト |
type | string | エンドポイントタイプ |
id | string | ユーザーのID ユーザー名を省略する場合は、必須です。 |
name | string | ユーザー名 IDを省略する場合は、必須です。 ユーザー名を指定する場合はIDまたは名前でドメインを指定する必要があります。 |
リクエスト例#
{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "id": "ee4dfb6e5540447cb3741905149d9b6e", "password": "devstacker" } } }, "scope": { "project": { "id": "a6944d763bf64ee6a275f1263fae0352" } } } }
レスポンス例#
{ "token": { "methods": [ "password" ], "roles": [ { "id": "51cc68287d524c759f47c811e6463340", "name": "admin" } ], "expires_at": "2015-11-07T02:58:43.578887Z", "project": { "domain": { "id": "default", "name": "Default" }, "id": "a6944d763bf64ee6a275f1263fae0352", "name": "admin" }, "is_domain": false, "catalog": [ { "endpoints": [ { "url": "http://example.com/identity/v2.0", "region": "RegionOne", "interface": "public", "id": "068d1b359ee84b438266cb736d81de97", "name": "keystone" } ], "type": "identity", "id": "050726f278654128aba89757ae25950c" }, (中略) { "endpoints": [ { "url": "http://23.253.248.171:8000/v1", "region": "RegionOne", "interface": "public", "id": "8303a7225a2d439fa39905c6a20202c3", "name": "alarm" } ], "type": "alarm", "id": "" } ], "user": { "domain": { "id": "default", "name": "Default" }, "id": "ee4dfb6e5540447cb3741905149d9b6e", "name": "admin", "password_expires_at": "2016-11-06T15:32:17.000000" }, "audit_ids": [ "3T2dc1CGQxyJsHdDu1xkcw" ], "issued_at": "2015-11-07T01:58:43.578929Z" } }