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