ParticipantToken.fromJwt constructor

ParticipantToken.fromJwt(
  1. String jwtStr, {
  2. String? token,
  3. bool verify = true,
})

Decodes a JWT string to create a ParticipantToken. If token is not provided, tries to read from ENV 'MESHAGENT_SECRET'.

Implementation

factory ParticipantToken.fromJwt(String jwtStr, {String? token, bool verify = true}) {
  // Fallback to environment variable if not provided
  if (verify) {
    token ??= const String.fromEnvironment('MESHAGENT_SECRET');
    final jwt = JWT.verify(jwtStr, SecretKey(token), checkHeaderType: false);

    final payload = jwt.payload as Map<String, dynamic>;
    return ParticipantToken.fromJson(payload);
  } else {
    final jwt = JWT.decode(jwtStr);

    final payload = jwt.payload as Map<String, dynamic>;
    return ParticipantToken.fromJson(payload);
  }
}