jwtToAddress function

String jwtToAddress(
  1. String jwt,
  2. BigInt userSalt
)

Implementation

String jwtToAddress(String jwt, BigInt userSalt) {
  lengthChecks(jwt);

  final decodedJWT = decodeJwt(jwt);
  if (decodedJWT['sub'] == null ||
      decodedJWT['iss'] == null ||
      decodedJWT['aud'] == null) {
    throw Exception('Missing jwt data');
  }

  if (decodedJWT['aud'] is List) {
    throw Exception('Not supported aud. Aud is an array, string was expected.');
  }

  return computeZkLoginAddress(
    userSalt: userSalt,
    claimName: 'sub',
    claimValue: decodedJWT['sub'],
    aud: decodedJWT['aud'],
    iss: decodedJWT['iss'],
  );
}