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