(((meta (@ (content . "API: Structure of an access token") (name . "title"))) (meta (@ (content . "manual") (name . "role"))) (meta (@ (content . "#api #manual #reference #zettelstore") (name . "tags"))) (meta (@ (content . "zmk") (name . "syntax"))) (meta (@ (content . "00001012050600") (name . "back"))) (meta (@ (content . "00001012050200 00001012050400 00001012050600") (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 . "00001012050200 00001012050400 00001012930000 00001012930500") (name . "forward"))) (meta (@ (content . "en") (name . "lang"))) (meta (@ (content . "EUPL-1.2-or-later") (name . "license"))) (meta (@ (content . "20230807165915") (name . "modified"))) (meta (@ (content . "20230807165915") (name . "published"))) (meta (@ (content . "public") (name . "visibility")))) (p "If the " (a (@ (href . "00001012050200")) "authentication process") " was successful, an access token with some additional data is returned." " " "The same is true, if the access token was " (a (@ (href . "00001012050400")) "renewed") "." " " "The response is structured as a " (a (@ (href . "00001012930000")) "symbolic expression") " list, with the following elements:") (ol (li (p "The type of the token, always set to " (kbd "\"Bearer\"") ", as described in " (a (@ (class . "external") (href . "https://tools.ietf.org/html/rfc6750")) "RFC 6750"))) (li (p "The token itself, which is technically the string representation of a " (a (@ (href . "00001012930500")) "symbolic expression") " containing relevant data, plus a check sum.") (ul (li "The symbolic expression has the form " (kbd "(KIND USERNAME NOW EXPIRE Z-ID)")) (li (kbd "KIND") " is " (kbd "0") " for an API access, " (kbd "1") " if it created for the Web user interface.") (li (kbd "USERNAME") " is the user name of the user.") (li (kbd "NOW") " is a timestamp of the current time.") (li (kbd "EXPIRE") " is the timestamp when the access token expires.") (li (kbd "Z-ID") " is the zettel identifier of the user zettel.")) (p "The symbolic expression is encoded via " (@L (@H "“") "base64" (@H "”")) "." " " "Based on this encoding, a checksum is calculated, also encoded via " (@L (@H "“") "base64" (@H "”")) "." " " "Both encoded values are concatenated, with a period (" (kbd "\".\"") ") as a delimiter."))))