cast jwt payload to Map<String, dynamic>

This commit is contained in:
2025-10-12 13:57:20 +02:00
parent 45d0b298c4
commit d4fe91860a
2 changed files with 8 additions and 6 deletions

View File

@@ -41,7 +41,8 @@ class TokenModel {
var m = TokenModel();
final jwt = JWT.decode(resp.idToken);
final username = jwt.payload["kreta:user_name"].toString();
final payload = jwt as Map<String, dynamic>;
final username = payload["kreta:user_name"].toString();
if (username.isNumeric() ||
(username.contains("G0") &&
username.substring(0, username.length - 3).isNumeric())) {
@@ -58,8 +59,8 @@ class TokenModel {
m.studentIdNorm = value & 0x3FFFFFFF;
}
m.studentId = jwt.payload["kreta:user_name"];
m.iss = jwt.payload["kreta:institute_code"];
m.studentId = payload["kreta:user_name"];
m.iss = payload["kreta:institute_code"];
m.idToken = resp.idToken;
m.accessToken = resp.accessToken;
m.refreshToken = resp.refreshToken;

View File

@@ -590,10 +590,11 @@ class _SettingsScreenState extends FirkaState<SettingsScreen> {
final token = widget.data.tokens[i];
final jwt = JWT.decode(token.idToken!);
String studentRole;
if (jwt.payload["role"] == "Tanulo") {
final payload = jwt as Map<String, dynamic>;
if (payload["role"] == "Tanulo") {
studentRole = "Tanuló";
} else {
studentRole = jwt.payload["role"];
studentRole = payload["role"];
}
widgets.add(GestureDetector(
child: SizedBox(
@@ -601,7 +602,7 @@ class _SettingsScreenState extends FirkaState<SettingsScreen> {
child: FirkaCard(
left: [
Text(
jwt.payload["name"],
payload["name"],
style: appStyle.fonts.B_16R
.apply(color: appStyle.colors.textPrimary),
),