for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace AtlassianConnectBundle\Service;
use Firebase\JWT\JWT;
class JWTGenerator
{
public static function generate(string $url, string $method, string $issuer, string $secret): string
$data = [
'iss' => $issuer,
'iat' => time(),
'exp' => strtotime('+1 day'),
'qsh' => QSHGenerator::generate($url, $method),
];
return JWT::encode($data, $secret, 'HS256');
}
public static function generateAssertion(string $secret, string $oauthClientId, string $baseUrl, string $user): string
'iss' => 'urn:atlassian:connect:clientid:'.$oauthClientId,
'sub' => 'urn:atlassian:connect:useraccountid:'.$user,
'exp' => strtotime('+1 minutes'),
'tnt' => $baseUrl,
'aud' => 'https://oauth-2-authorization-server.services.atlassian.com',