e082c72861
several of the federated identity docs were spread out in hard to find locations. this puts the documentation more front and centrer. expect detailed changes for each docs in future patches. Change-Id: I82ba117dfd02f921d72b9f010becad57da03e090
5.0 KiB
5.0 KiB
Mapping Schema
Description
The schema for mapping is a description of how a mapping should be created. It shows all the requirements and possibilities for a JSON to be used for mapping.
Mapping schema is validated with JSON Schema
Mapping Schema
The rules supported must use the following schema:
{"type": "object",
"required": ['rules'],
"properties": {
"rules": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"required": ['local', 'remote'],
"additionalProperties": False,
"properties": {
"local": {
"type": "array"
,
}"remote": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"oneOf": [
"$ref": "#/definitions/empty"},
{"$ref": "#/definitions/any_one_of"},
{"$ref": "#/definitions/not_any_of"},
{"$ref": "#/definitions/blacklist"},
{"$ref": "#/definitions/whitelist"}
{,
]
}
}
}
}
},
}"definitions": {
"empty": {
"type": "object",
"required": ['type'],
"properties": {
"type": {
"type": "string"
,
},
}"additionalProperties": False,
,
}"any_one_of": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'any_one_of'],
"properties": {
"type": {
"type": "string"
,
}"any_one_of": {
"type": "array"
,
}"regex": {
"type": "boolean"
}
},
}"not_any_of": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'not_any_of'],
"properties": {
"type": {
"type": "string"
,
}"not_any_of": {
"type": "array"
,
}"regex": {
"type": "boolean"
}
},
}"blacklist": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'blacklist'],
"properties": {
"type": {
"type": "string"
,
}"blacklist": {
"type": "array"
}
},
}"whitelist": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'whitelist'],
"properties": {
"type": {
"type": "string"
,
}"whitelist": {
"type": "array"
}
}
}
} }
Note
"additionalProperties": False
, shows that only the
properties shown can be displayed.
"whitelist": {
"type": "object",
"additionalProperties": False,
"required": ['type', 'whitelist'],
"properties": {
"type": {
"type": "string"
,
}"whitelist": {
"type": "array"
}
} }
Keystone will not accept any other keys in the JSON mapping other
than type
, and whitelist
.