(((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 . "00010101000000") (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."))