logon method
Implementation
Future<bool> logon(Jwt jwt) async {
// valid token?
if (jwt.valid) {
// set system token
_jwt = jwt;
_token.set(jwt.token);
// set connected = true
_connected.set(true);
// set user claims
jwt.claims.forEach((key, value) {
key = key.toLowerCase().trim();
switch (key) {
case 'connected':
break;
case 'rights':
_rights.set(value);
break;
case 'language':
_language.set(value);
break;
default:
if (_claims.containsKey(key)) {
_claims[key]!.set(value);
} else {
_claims[key] =
StringObservable(Binding.toKey(key), value, scope: scope);
}
}
});
// clear missing claims
_claims.forEach((key, observable) =>
jwt.claims.containsKey(key) ? null : observable.set(null));
// set phrase language
phrase.language = _language.get();
return true;
}
// clear all claims
else {
return await logoff();
}
}