Skip to content

Commit 9c36a3c

Browse files
committed
Extend krb5_child design
Signed-off-by: Iker Pedrosa <[email protected]>
1 parent a972675 commit 9c36a3c

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/design-pages/passwordless_gdm.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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 as it must wait for the response.
140+
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

122148
Data

0 commit comments

Comments
 (0)