更新时间:2022-08-16 GMT+08:00

获取联邦认证unscoped token(SP initiated)

功能介绍

该接口用于通过SP initiated的联邦认证方式获取unscoped token。

Unscoped token不能用来鉴权,若联邦用户需要使用token进行鉴权,请参考获取联邦认证scoped token获取scoped token。

URI

  • URI格式

    GET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth

  • 参数说明

    参数

    是否必选

    类型

    说明

    idp_id

    String

    身份提供商的ID。

    protocol _id

    String

    Protocol的ID。

请求

  • Request Header参数说明

    参数

    是否必选

    类型

    说明

    Accept

    string

    • 通过页面单点认证 (WebSSO)方式获取token时,不需要该参数。
    • 通过增强客户端代理(ECP)方式获取token时,该字段需取值如下:

      application/vnd.paos+xml

    PAOS

    string

    • 通过页面单点认证 (WebSSO)方式获取token时,不需要该参数。
    • 增强客户端代理(ECP)获取token时,该字段需取值如下:

      urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp

    1. 该接口支持通过页面单点认证 (WebSSO)和增强客户端代理(ECP)两种方式获取token。通过不同的请求header区分,具体使用请参考Request Header参数说明。
    2. 不建议直接调用该接口,请使用openstackclient获取token。
  • 请求样例
    GET /v3/OS-FEDERATION/identity_providers/idptest/protocols/saml/auth

响应

  • Response Body参数说明

    名称

    参数

    类型

    说明

    X-Subject-Token

    header

    string

    签名后的unscoped token。

    token

    body

    Object

    联邦认证的unscoped token,包含methods和用户信息。

  • 响应样例
    {
        "token": {
            "issued_at": "2017-05-23T06:54:51.763000Z",
            "expires_at": "2017-05-24T06:54:51.763000Z",
            "methods": [
                "mapped"
            ],
            "user": {
                "domain": {
                    "id": "e31ac82d778b4d128cb6fed37fd72cdb",
                    "name": "exampledomain"
                },
                "id": "RMQTgtjjSNGDcKy7oUmI3AZg7GgsWG0Z",
                "name": "exampleuser",
                "OS-FEDERATION": {
                    "identity_provider": {
                        "id": "exampleuser"
                    },
                    "protocol": {
                        "id": "saml"
                    },
                    "groups": [
                        {
                            "id": "b40189e26ea44f959877621b4b298db5"
                        }
                    ]
                }
            }
        }
    }

状态码

状态码

说明

200

请求成功,需进一步获取用户信息。

201

请求成功,返回token。

302

请求未携带Identity Provider用户信息时,跳转到Identity Provider认证页面。

400

请求错误。

401

认证失败。

403

鉴权失败。

405

不允许的方法。

413

请求体过大。

500

内部服务错误。

503

服务不可用。