Dart 如何在颤振中去除JWT?

Dart 如何在颤振中去除JWT?,dart,flutter,jwt,Dart,Flutter,Jwt,我想在我的移动应用程序中解码JWT令牌。 我遵循这个方法。 但产出是, {"site_id":"2","isActualNSolutionAvailable":"True","isCauseNEffectsAvailable":"True","isServiceCenterAvailable":"True","user_id":"190","employee_id":"36","user_name":"...","userPassword":"o+2r8b/9k9i75j4VE+9xNmJnQp

我想在我的移动应用程序中解码JWT令牌。 我遵循这个方法。 但产出是,

{"site_id":"2","isActualNSolutionAvailable":"True","isCauseNEffectsAvailable":"True","isServiceCenterAvailable":"True","user_id":"190","employee_id":"36","user_name":"...","userPassword":"o+2r8b/9k9i75j4VE+9xNmJnQpbipT1lYRzzrciAXqWkE/jNzg6Qk5MWP16A==","userPWDSalt":"lbNmVWQGMsvlkhuX/YN6P6mobkC0L+1fgFtL6ttN3KI3/kXH/+OtBPff1A+WGfltiOmXf3Nbs2ewItPHhkrmHask+++UNNxSGm+xD/7Dz8vCxOzRTP5OE/Kf3LFXZwq1UmafhxIIYVua7m8eApulR+HwW47/RUKfJZvIZYjE80AYkoetYJmx4hdu+NBxItv1fyx1TGpMKbB+vY9F6CJK9xp76yrjtnzlctgJb5ID/xx/TMj9qLaBx+pAHGc3BZYRdlCXJYnHEasHTtDk2RoYvnv24iQpS5Q==","exp":1551332124,"iss":"sl.com","aud":"sl.com"}

如何仅获取站点id

根据您添加的方式,您可以执行以下操作(检查
\u decodeJWT
方法):

Map parseJwt(字符串标记){
最终部分=标记分割('.');
如果(零件长度!=3){
抛出异常(“无效令牌”);
}
最终有效载荷=_decodeBase64(第[1]部分);
最终payloadMap=json.decode(有效载荷);
如果(payloadMap是!Map){
抛出异常(“无效负载”);
}
返回payloadMap;
}
_解码JWT(字符串令牌){
Map tokenDecoded=parseJWT(令牌);
字符串siteId=tokenDecoded['site_id'];
}

根据您添加的方式,您可以执行以下操作(检查
\u decodeJWT
方法):

Map parseJwt(字符串标记){
最终部分=标记分割('.');
如果(零件长度!=3){
抛出异常(“无效令牌”);
}
最终有效载荷=_decodeBase64(第[1]部分);
最终payloadMap=json.decode(有效载荷);
如果(payloadMap是!Map){
抛出异常(“无效负载”);
}
返回payloadMap;
}
_解码JWT(字符串令牌){
Map tokenDecoded=parseJWT(令牌);
字符串siteId=tokenDecoded['site_id'];
}

throw Exception('invalid token')检查您在jwt.io上使用的令牌并检查它是否有效throw Exception('invalid token')检查您在jwt.io上使用的令牌并检查它是否有效
Map<String, dynamic> parseJwt(String token) {
  final parts = token.split('.');
  if (parts.length != 3) {
    throw Exception('invalid token');
  }

  final payload = _decodeBase64(parts[1]);
  final payloadMap = json.decode(payload);
  if (payloadMap is! Map<String, dynamic>) {
    throw Exception('invalid payload');
  }

  return payloadMap;
}


_decodeJwt(String token){
  Map<String,dynamic> tokenDecoded = parseJWT(token);
  String siteId = tokenDecoded['site_id'];
}