JWS creation JWS Builder Factory Service
A JWSBuilderFactory
is available as a service in your application container:
Copy <? php
use Jose \ Component \ Signature \ JWSBuilderFactory ;
$jwsBuilderFactory = $container -> get ( JWSBuilderFactory ::class ) ;
With this factory, you will be able to create the JWSBuilder you need:
Copy $jwsBuilder = $jwsBuilderFactory -> create ( [ 'HS256' ] ) ;
You can now use the JWSBuilder as explained in the JWS Creation section.
JWS Builder As Service
There is also another way to create a JWSBuilder object: using the bundle configuration.
Copy jose :
jws :
builders :
builder1 :
signature_algorithms : [ 'HS256' , 'RS256' , 'ES256' ]
is_public : true
With the previous configuration, the bundle will create a public JWS Builder service named jose.jws_builder.builder1
with selected signature algorithms.
Copy <? php
$jwsBuilder = $container -> get ( 'jose.jws_builder.builder1' ) ;
Custom Tags
You can add custom tags and attributes to the services you create.
Copy jose :
jws :
builders :
builder1 :
signature_algorithms : [ 'HS256' , 'RS256' , 'ES256' ]
tags :
tag_name1 : ~
tag_name2 : { attribute1 : 'foo' }