MasterToken Encoder/Decoder {"a"} -> MasterToken("a")
Service Token Encoder/Decoder {"service_name": "service_token"} -> ServiceToken("service_token")
{"a": "a", "b": "b"} -> ServiceTokens(Map((a->ServiceToken(a)), (b->ServiceToken(b)))
Tokens (as Session Data) Encoder/Decoder
Tokens Encoder/Decoder {"auth_service": "a"} -> Tokens(MasterToken("a"), ServiceTokens()) {"service_tokens": {"a": "a", "b": "b"}} -> Tokens(MasterToken("a"), ServiceTokens(Map((a->ServiceToken(a)), (b->ServiceToken(b))) {} -> result error