This API is used to obtain an unscoped token in IdP-initiated federated identity authentication mode.
An unscoped token cannot be used for authentication. If a federated user needs to use a token for authentication, obtain the scoped token based on section Obtaining a Scoped Token.
POST /v3.0/OS-FEDERATION/tokens
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
X-Idp-Id |
Yes |
String |
ID of an identity provider. |
Content-Type |
Yes |
String |
The client must transfer the SAMLResponse parameter to the server by using the form data submitted by the browser. Therefore, the value of this parameter must be: application/x-www-form-urlencoded |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
SAMLResponse |
Yes |
String |
Response body returned when IdP authentication is successful. |
This API can only be called on the CLI side. The client needs to obtain SAMLResponse in IdP-initiated federated identity authentication mode and obtain an unscoped token by using the form data submitted by the browser.
curl -i -k -H 'Accept:application/json' -H 'x-Idp-Id:test_local_idp' -H 'Content-Type:application/x-www-form-urlencoded' -X POST -d 'SAMLResponse=PD94bWwgdmVyc2lvbj0iMS4wIiBl4WXZ1OGNmYmRzWk1ZeWlLKy96anpEbm1rT2FrVVBrUmlSWEpLYUt5NzJtUmtoRFBCNjgwVQpzalU3R2hKNHE4ZG48L3hlbmM6Q2lwaGVyVmFsdWU%2BPC94ZW5jOkNpcGhlckRhdGE%2BPC94ZW5jOkVuY3J5cHRlZERhdGE%2BPC9zYW1sMjpFbmNyeXB0ZWRBc3NlcnRpb24%2BPC9zYW1sMnA6UmVzcG9uc2U%2B' https://sample.domain.com/v3.0/OS-FEDERATION/tokens
Response Item |
Parameter |
Type |
Description |
|---|---|---|---|
X-Subject-Token |
header |
String |
Signed unscoped token. |
token |
body |
Object |
Information of the unscoped token obtained in federated identity authentication mode, including methods and user information. |
{
"token": {
"expires_at": "2018-03-13T03:00:01.168000Z",
"methods": ["mapped"],
"issued_at": "2018-03-12T03:00:01.168000Z",
"user": {
"OS-FEDERATION": {
"identity_provider": {
"id": "test_local_idp"
},
"protocol": {
"id": "saml"
},
"groups": [{
"name": "admin",
"id": "45a8c8f1894444e9a016af065e152b91"
}]
},
"domain": {
"name": "hansheng",
"id": "c0e20cc993a24ad4aa3251661ef37c87"
},
"name": "FederationUser",
"id": "QNSzD0bycqUXE4hiRNfyFcWfoOs8z6gT"
}
}
}
Status Code |
Description |
|---|---|
201 |
The request is successful, and a token is returned. |
400 |
The server failed to process the request. |
401 |
Authentication failed. |
403 |
Access denied. |
405 |
The method specified in the request is not allowed for the requested resource. |
413 |
The request entity is too large. |
500 |
Internal server error. |
503 |
Service unavailable. |