((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 (@ (href . "https://tools.ietf.org/html/rfc6750") (rel . "external")) "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."))))