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"
    }
}