Skip to content

Commit dfcf246

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

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/design-pages/passwordless_gdm.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,34 @@ diagram.
117117
authentication mechanism. This will be explained separately for each
118118
mechanism.
119119

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+
120148
.. _data:
121149

122150
Data

0 commit comments

Comments
 (0)