'exp' =>
$time + 3600,
'iss' => 'https://www.example.com',
'aud' => 'Symfony OIDC',
'sub' => 'e21bf182-1538-406e-8ccb-e25a17aba39f',
'username' => 'dunglas',
];
$token =
(new CompactSerializer())->
serialize((new JWSBuilder(new AlgorithmManager([ new ES256(),
])))->
create() ->
withPayload(json_encode($claims)) // tip: use https://mkjwk.org/ to generate a JWK
->
addSignature(new JWK([ 'kty' => 'EC',
'crv' => 'P-256',
'x' => '0QEAsI1wGI-dmYatdUZoWSRWggLEpyzopuhwk-YUnA4',
'y' => 'KYl-qyZ26HobuYwlQh-r0iHX61thfP82qqEku7i0woo',
'd' => 'iA_TV2zvftni_9aFAQwFO_9aypfJFCSpcCyevDvz220',
]),
['alg' => 'ES256'
]) ->
build() );
$client =
$this->
createClient(['test_case' => 'AccessToken', 'root_config' => 'config_oidc.yml'
]);
$client->
request('GET', '/foo',
[],
[],
['HTTP_AUTHORIZATION' =>
sprintf('Bearer %s',
$token)]);