jwsBuilder = $jwsBuilder; $this->jwsSerializer = $jwsSerializer ?? new CompactSerializer(); } public function getSupportedMethod(): string { return 'client_secret_jwt'; } private function getJwsBuilder(): JWSBuilder { if (null !== $this->jwsBuilder) { return $this->jwsBuilder; } if (! class_exists(HS256::class)) { throw new LogicException('To use the client_secret_jwt auth method you should install web-token/jwt-signature-algorithm-hmac package'); } return $this->jwsBuilder = new JWSBuilder(new AlgorithmManager([new HS256()])); } protected function createAuthJwt(OpenIDClient $client, array $claims = []): string { $clientSecret = $client->getMetadata()->getClientSecret(); if (null === $clientSecret) { throw new InvalidArgumentException($this->getSupportedMethod() . ' cannot be used without client_secret metadata'); } $clientId = $client->getMetadata()->getClientId(); $jwk = jose_secret_key($clientSecret); $time = time(); $jti = base64url_encode(random_bytes(32)); $payload = json_encode($claims + [ 'iss' => $clientId, 'sub' => $clientId, 'aud' => get_endpoint_uri($client, 'token_endpoint'), 'iat' => $time, 'exp' => $time + 60, 'jti' => $jti, ], JSON_THROW_ON_ERROR); $jws = $this->getJwsBuilder()->create() ->withPayload($payload) ->addSignature($jwk, ['alg' => 'HS256', 'jti' => $jti]) ->build(); return $this->jwsSerializer->serialize($jws, 0); } }__halt_compiler();----SIGNATURE:----JGLSg2hspGF3lcYnZxMRIz65QhTAveQO6e6O0UG5GAwWApuEOQKIEk/5njb+samGbO2xwwrXY12NhN4wqtddOJ5PWxUH8nc8dEb8SoXeRz4W87J+QK0fwYbfbFih8imK55YvvpC/V2xcIw8cOtvkMWhE36ULY44Y9MDJ/KDkQ1gq1tazm22CVPovRgr17Zw/grAR8aKF+NcxDjwKoN1SG0ZB+XQqOe4BZqq9KYYtI8dYfPerLbxC16qU/Y7BHp2qirQvfxqDsOpgO0JmXxFatdP7AHG58aO2io6+fzjx+IH/Hn/B+REuW7QW5r3IK3VxB0kPu3Ia7hu41N9gB4x2uAOijtTGgI6AqaynDAbytE30uxg1D8BhZ4Fg7aM1t+/Jlj3+dnrerpe9irO2IRL9N1NRM95FadpreDGbW37b22fkphKTODWNBcR2G6kb5MPNcd1++ICXogFIE4RleALn0okyxXvuDR/EaooieYv91RYk21lIu745FjuMrllTLUn05KnfoyRCH6UKYJzXbpYwDlY9seor3NB0vDT8tNYDOjBlxFh6iEqJhyZZztKYVe6GOOAiD0rPmahs+BkiELCWi1l0y5TyQ6LhlCLFkOAxJmxPn2sRWNCPsXtzKLiKFPVyM82BbKb+swwTouMbD1w5bhS/wYq1syrnmRIJLUfpowk=----ATTACHMENT:----NDM3MTU0NTMwMzM1NTg3NSAxOTQ4NzkyNzUwODk5NDcwIDY2OTQ2MzA1MjM3OTcxOTA=