arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

JWS verification

hashtag
JWS Verifier Factory Service

A JWSVerifierFactory is available as a service in your application container:

With this factory, you will be able to create the JWSVerifier you need:

You can now use the JWSVerifier as explained in the JWS Creation section.

Reminder: it is important to check the token headers. See the checker section of this documentation.

hashtag
JWS Verifier As Service

There is also another way to create a JWSVerifier object: using the bundle configuration.

With the previous configuration, the bundle will create a public JWS Verifier service named jose.jws_verifier.verifier1 with selected signature algorithms.

hashtag
Custom Tags

This feature was introduced in version 1.1.

You can add custom tags and attributes to the services you create.

hashtag
JWS Loader Service

This feature was introduced in version 1.1.

The is available as a public service. You can retrieve it using the container or inject it into your services. It will help you to create JWSLoader objects on demand.

You can also create JWSLoader objects as services using the configuration of the bundle.

Or using the .

<?php
use Jose\Component\Signature\JWSVerifierFactory;

$jwsVerifierFactory = $container->get(JWSVerifierFactory::class);
$jwsVerifier = $jwsVerifierFactory->create(['HS256']);
JWSLoaderFactory
ConfigurationHelper
jose:
    jws:
        verifiers:
            verifier1:
                signature_algorithms: ['HS256', 'RS256', 'ES256']
                is_public: true
<?php
$jwsVerifier = $container->get('jose.jws_verifier.verifier1');
jose:
    jws:
        verifiers:
            verifier1:
                signature_algorithms: ['HS256', 'RS256', 'ES256']
                tags:
                    tag_name1: ~
                    tag_name2: {attribute1: 'foo'}
<?php
use Jose\Component\Signature\JWSLoaderFactory;

$jwsLoaderFactory = $container->get(JWSLoaderFactory::class);
jose:
    jws:
        loaders:
            jws_loader1:
                serializers: ['jws_compact']
                signature_algorithms: ['HS256']
                header_checkers: ['alg']
                is_public: true
<?php
use Jose\Bundle\JoseFramework\Helper\ConfigurationHelper;

...
ConfigurationHelper::addJWSLoader($container, 'jws_loader1', ['jws_compact'], ['HS256'], ['alg'], true);