((META (EMPTY-STRING title "API: Structure of an access token") (WORD role "manual") (TAG-SET tags ("#api" "#manual" "#reference" "#zettelstore")) (WORD syntax "zmk") (ZID-SET back ("00001012050600")) (ZID-SET backward ("00001012050200" "00001012050400" "00001012050600")) (NUMBER box-number "1") (STRING copyright "(c) 2020-present by Detlef Stern ") (TIMESTAMP created "20210126175322") (ZID-SET forward ("00001012050200" "00001012050400" "00001012930000" "00001012930500")) (WORD lang "en") (EMPTY-STRING license "EUPL-1.2-or-later") (TIMESTAMP modified "20230807165915") (TIMESTAMP published "20230807165915") (WORD visibility "public")) (BLOCK (PARA (TEXT "If the ") (LINK-ZETTEL () "00001012050200" (TEXT "authentication process")) (TEXT " was successful, an access token with some additional data is returned.") (SOFT) (TEXT "The same is true, if the access token was ") (LINK-ZETTEL () "00001012050400" (TEXT "renewed")) (TEXT ".") (SOFT) (TEXT "The response is structured as a ") (LINK-ZETTEL () "00001012930000" (TEXT "symbolic expression")) (TEXT " list, with the following elements:")) (ORDERED (BLOCK (PARA (TEXT "The type of the token, always set to ") (LITERAL-INPUT () "\"Bearer\"") (TEXT ", as described in ") (LINK-EXTERNAL () "https://tools.ietf.org/html/rfc6750" (TEXT "RFC 6750")))) (BLOCK (PARA (TEXT "The token itself, which is technically the string representation of a ") (LINK-ZETTEL () "00001012930500" (TEXT "symbolic expression")) (TEXT " containing relevant data, plus a check sum.")) (UNORDERED (INLINE (TEXT "The symbolic expression has the form ") (LITERAL-INPUT () "(KIND USERNAME NOW EXPIRE Z-ID)")) (INLINE (LITERAL-INPUT () "KIND") (TEXT " is ") (LITERAL-INPUT () "0") (TEXT " for an API access, ") (LITERAL-INPUT () "1") (TEXT " if it created for the Web user interface.")) (INLINE (LITERAL-INPUT () "USERNAME") (TEXT " is the user name of the user.")) (INLINE (LITERAL-INPUT () "NOW") (TEXT " is a timestamp of the current time.")) (INLINE (LITERAL-INPUT () "EXPIRE") (TEXT " is the timestamp when the access token expires.")) (INLINE (LITERAL-INPUT () "Z-ID") (TEXT " is the zettel identifier of the user zettel."))) (PARA (TEXT "The symbolic expression is encoded via ") (FORMAT-QUOTE () (TEXT "base64")) (TEXT ".") (SOFT) (TEXT "Based on this encoding, a checksum is calculated, also encoded via ") (FORMAT-QUOTE () (TEXT "base64")) (TEXT ".") (SOFT) (TEXT "Both encoded values are concatenated, with a period (") (LITERAL-INPUT () "\".\"") (TEXT ") as a delimiter."))))))