@@ -117,6 +117,34 @@ diagram.
117
117
authentication mechanism. This will be explained separately for each
118
118
mechanism.
119
119
120
+ TODO: update sequence diagram?
121
+
122
+ krb5_child
123
+ ****************
124
+ ``krb5_child `` is the helper binary in charge of Kerberos authentication. It
125
+ follows the general model of separating the authencation in two steps:
126
+ ``preauthentication `` and ``authentication ``. The first part opens a session
127
+ to obtain the data related to the authentication (i.e. EIdP code). The
128
+ ``krb5_child `` keeps the state while the information is displayed to the user
129
+ and they follow the necessary steps for authentication. At this point is when
130
+ the status changes to ``authentication `` and proceeds with the authentication
131
+ itself.
132
+
133
+ This was a valid solution when SSSD was the one deciding which authentication
134
+ method to use during the process. This is no longer the case, since with this
135
+ new proposal it is the user who decides the mechanism to be used, so the
136
+ current ``krb5_child `` design must be extended.
137
+
138
+ During the ``preauthentication `` phase all authentication methods that are
139
+ available to the user are checked and all necessary information (e.g. login
140
+ URLs, codes, prompts) is obtained to proceed with the authentication.
141
+ Since some authentication mechanisms need to keep a session open, these are
142
+ marked as keep-alive. The information is displayed to the user and once
143
+ the user enters the credentials, pam_sss switches to the ``authentication ``
144
+ phase and PAM responder serializes the credentials in the ``sss_auth_token ``
145
+ structure. ``krb5_child `` gets the authentication type and the credentials,
146
+ and continues with the authentication process.
147
+
120
148
.. _data :
121
149
122
150
Data
0 commit comments