Usage
Last updated
Last updated
Your RSA public key must be accessible in the filesystem.
Use the KeyConfiguration
to let JWKs know what your public key looks like.
$keyConfig = new KeyConfiguration(
'MY_KEY_ID',
'RSA256',
'Use'
);
By default:
KeyId
will be automatically generated per request
Algorithm
will be RSA256
(can be changed in jwks.php
configuration file)
Use
will be null
use ShipSaasLaravelJwks\Entities\Key;
$key = Key::fromRaw($content, $keyConfig);
use ShipSaasLaravelJwks\Entities\Key;
$key = Key::fromFilePath('/var/www/html/key.pub', $keyConfig);
Please use the exact file path.
$jwk = $key->toJWK();
$jwk = $key->toArray();
$jwkString = (string) $key;
$jwkString = $key->__toString(); // php magic method
KeySet contains 1 or multiple keys
use ShipSaasLaravelJwks\Entities\Key;
use ShipSaasLaravelJwks\Entities\KeySet;
$key1 = Key::fromFilePath(...);
$key2 = Key::fromRawContent(...);
$keySet = new KeySet();
$keySet->add($key1);
$keySet->add($key2);
# Resolve
$jwks = $keySet->toArray();
$jwksString = (string) $keySet;
We also ship a default endpoint that prepares the configured keys and returns the JWKs content.
Endpoint: auth/jwks