Diagrams

Component diagram

Component diagram

UML component diagram

Sequence diagram

Sequence diagram

UML sequence diagram

Authorization activity diagram

digraph G {
    VALIDATING_TOKENS -> VALIDATING_ACCESS_TOKEN;
    VALIDATING_PERMISSIONS -> ACCESS_DENIED;
    VALIDATING_PERMISSIONS -> ACCESS_GRANTED;
    AWAIT_AUTHORIZING -> AUTHORIZING;
    VALIDATING_REQUESTED_URL -> VALIDATING_WHITELISTED_URL;
    VALIDATING_ACCESS_TOKEN -> INVALID_TOKEN;
    VALIDATING_ACCESS_TOKEN -> VALIDATING_PERMISSIONS;
    VALIDATING_WHITELISTED_URL -> ACCESS_GRANTED;
    VALIDATING_WHITELISTED_URL -> VALIDATING_RESTRICTED_METHOD;
    INVALID_TOKEN -> NEED_REDIRECT;
    INVALID_TOKEN -> ACCESS_DENIED;
    VALIDATING_RESTRICTED_METHOD -> VALIDATING_TOKENS;
    VALIDATING_RESTRICTED_METHOD -> ACCESS_GRANTED;
    AUTHORIZING -> VALIDATING_REQUESTED_URL;
    AUTHORIZING -> ERROR;
}

Authentication activity diagram

digraph G {
    AWAIT_AUTHENTICATION -> AUTHENTICATING;
    AUTHENTICATING -> VALIDATING_TOKENS;
    VALIDATING_SAME_SUBS -> INVALID_TOKEN;
    VALIDATING_SAME_SUBS -> VALID_TOKENS;
    VALIDATING_ACCESS_TOKEN -> INVALID_TOKEN;
    VALIDATING_ACCESS_TOKEN -> VALIDATING_ID_TOKEN;
    VALIDATING_ID_TOKEN -> VALID_TOKENS;
    VALIDATING_ID_TOKEN -> INVALID_TOKEN;
    VALIDATING_ID_TOKEN -> VALIDATING_SAME_SUBS;
    VALIDATING_TOKENS -> VALIDATING_ACCESS_TOKEN;
    INVALID_TOKEN -> ANONYMOUS;
    VALID_TOKENS -> AUTHENTICATED;
}