(((meta (@ (content . "Authentication process") (name . "title"))) (meta (@ (content . "manual") (name . "role"))) (meta (@ (content . "#authentication #configuration #manual #security #zettelstore") (name . "tags"))) (meta (@ (content . "zmk") (name . "syntax"))) (meta (@ (content . "00001010000000") (name . "back"))) (meta (@ (content . "00001010000000") (name . "backward"))) (meta (@ (content . "1") (name . "box-number"))) (meta (@ (content . "(c) 2020-present by Detlef Stern ") (name . "copyright"))) (meta (@ (content . "20210126175322") (name . "created"))) (meta (@ (content . "00001006050000 00001010040200") (name . "forward"))) (meta (@ (content . "en") (name . "lang"))) (meta (@ (content . "EUPL-1.2-or-later") (name . "license"))) (meta (@ (content . "20211127174943") (name . "modified"))) (meta (@ (content . "20211127174943") (name . "published"))) (meta (@ (content . "public") (name . "visibility")))) (p "When someone tries to authenticate itself with an user identifier / " (@L (@H "“") "user name" (@H "”")) " and a password, the following process is executed:") (ol (li "If meta key " (kbd "owner") " of the configuration zettel does not have a valid " (a (@ (href . "00001006050000")) "zettel identifier") " as value, authentication fails.") (li "Retrieve all zettel, where the meta key " (kbd "user-id") " has the same value as the given user identification. If the list is empty, authentication fails.") (li "From above list, the zettel with the numerically smallest identifier is selected." " " "Or in other words: the oldest zettel is selected" (sup (@ (id . "fnref:1")) (a (@ (class . "zs-noteref") (href . "#fn:1") (role . "doc-noteref")) "1")) ".") (li "If the zettel does not have a value for the meta key " (kbd "credential") ", authentication fails.") (li "The value of the meta key " (kbd "credential") " is compared with the given password." " " "If they do not match, authentication fails.")) (p "The authentication is successful, because the Zettelstore has an owner, the identifier matches an " (a (@ (href . "00001010040200")) "user zettel") ", and the password conforms to the stored credential."))