#1 Re: mORMot 2 » Parse JWT-Token (Access/IDToken) to TJwtContent » 2025-07-09 13:04:34

type
  { TJwtNoCheck }
  TJwtNoCheck=Class(TJwtAbstract)
    procedure CheckSignature(const headpayload: RawUtf8;
      const signature: RawByteString; var jwt: TJwtContent); override;

  end;

procedure TJwtNoCheck.CheckSignature(const headpayload: RawUtf8; const signature: RawByteString; var jwt: TJwtContent);
begin
  jwt.result := jwtValid;
end;

function JwtUnsafeParse(AccessToken: RawUtf8): Variant;
var
  jwtContent: TJwtContent;
  jwt: TJwtNoCheck;
begin
  jwt := TJwtNoCheck.create(TJwtNone.ExtractAlgo(VariantToUtf8(AccessToken)),[], [],0, 0 , '');
  jwt.Options := [joHeaderParse,joAllowUnexpectedClaims,joAllowUnexpectedAudience];
  jwt.Verify(VariantToUtf8(AccessToken), jwtContent);
  Result := Variant(jwtContent.data);
end;

Board footer

Powered by FluxBB