Utilities for Federation Extension.
keystone.federation.utils.
DirectMaps
[source]¶Bases: object
An abstraction around the remote matches.
Each match is treated internally as a list.
keystone.federation.utils.
RuleProcessor
(mapping_id, rules)[source]¶Bases: object
A class to process assertions and mapping rules.
process
(assertion_data)[source]¶Transform assertion to a dictionary.
The dictionary contains mapping of user name and group ids based on mapping rules.
This function will iterate through the mapping rules to find assertions that are valid.
Parameters: | assertion_data (dict) – an assertion containing values from an IdP |
---|
Example assertion_data:
{
'Email': 'testacct@example.com',
'UserName': 'testacct',
'FirstName': 'Test',
'LastName': 'Account',
'orgPersonType': 'Tester'
}
Returns: | dictionary with user and group_ids |
---|
The expected return structure is:
{
'name': 'foobar',
'group_ids': ['abc123', 'def456'],
'group_names': [
{
'name': 'group_name_1',
'domain': {
'name': 'domain1'
}
},
{
'name': 'group_name_1_1',
'domain': {
'name': 'domain1'
}
},
{
'name': 'group_name_2',
'domain': {
'id': 'xyz132'
}
}
]
}
keystone.federation.utils.
UserType
[source]¶Bases: object
User mapping type.
EPHEMERAL
= 'ephemeral'¶LOCAL
= 'local'¶keystone.federation.utils.
transform_to_group_ids
(group_names, mapping_id, identity_api, resource_api)[source]¶Transform groups identified by name/domain to their ids.
Function accepts list of groups identified by a name and domain giving a list of group ids in return. A message is logged if the group doesn’t exist in the backend.
Example of group_names parameter:
[
{
"name": "group_name",
"domain": {
"id": "domain_id"
},
},
{
"name": "group_name_2",
"domain": {
"name": "domain_name"
}
}
]
Parameters: |
|
---|---|
Returns: | generator object with group ids |
keystone.federation.utils.
validate_idp
(idp, protocol, assertion)[source]¶The IdP providing the assertion should be registered for the mapping.
keystone.federation.utils.
validate_mapped_group_ids
(group_ids, mapping_id, identity_api)[source]¶Iterate over group ids and make sure they are present in the backend.
This call is not transactional. :param group_ids: IDs of the groups to be checked :type group_ids: list of str
Parameters: |
|
---|---|
Raises: | keystone.exception.MappedGroupNotFound – If the group returned by mapping was not found in the backend. |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.