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();
}
}