@@ -13,10 +13,10 @@ Standardizing the federation process
13
13
14
14
15
15
We propose that the federated authentication process be reengineered so that a
16
- user_id is returned alongside the identity attributes. In addition, the saml2.py
17
- authentication module should be renamed as mapped.py to denote that it applies
18
- to all authentication methods which require the asserted identity attributes to
19
- be mapped into local attributes.
16
+ user_id is returned alongside the identity attributes. In addition, the
17
+ saml2.py authentication module should be renamed as mapped.py to denote that it
18
+ applies to all authentication methods which require the asserted identity
19
+ attributes to be mapped into local attributes.
20
20
21
21
22
22
Problem Description
@@ -25,9 +25,10 @@ Problem Description
25
25
The existing federation logic uses `saml2 ` auth plugin to establish a local
26
26
Keystone identity, by mapping trusted external identity attributes to local
27
27
identity attributes. Now that other federation protocols will be supported by
28
- Keystone, it makes no sense to apply mapping via a saml2 plugin. Some federation
29
- authentication protocols already determine the ID of the user, this should be
30
- leveraged by the protocol specific sub modules and not the mapping engine.
28
+ Keystone, it makes no sense to apply mapping via a saml2 plugin. Some
29
+ federation authentication protocols already determine the ID of the user, this
30
+ should be leveraged by the protocol specific sub modules and not the mapping
31
+ engine.
31
32
32
33
Proposed Change
33
34
===============
@@ -41,11 +42,11 @@ In order to resolve the problem the following changes should be made:
41
42
#. The function for extracting attributes should return a user_id among the
42
43
asserted attributes.
43
44
44
- Splitting the logic of the Mapped plugin will allow subclassing of the plugin to
45
- handle protocols which provide attributes in a different way to mod_shib, while
46
- still enabling reuse of the mapping filter implementation. We can then use the
47
- correct method name according to the protocol used so that clients can easily
48
- determine their behaviour.
45
+ Splitting the logic of the Mapped plugin will allow subclassing of the plugin
46
+ to handle protocols which provide attributes in a different way to mod_shib,
47
+ while still enabling reuse of the mapping filter implementation. We can then
48
+ use the correct method name according to the protocol used so that clients can
49
+ easily determine their behaviour.
49
50
50
51
For instance, a configuration for a SAML2 and an Open ID Connect enabled
51
52
Keystone might look like: ::
0 commit comments