No longer maintained.
Please moved to https://github.com/alancting/php-microsoft-jwt
A simple library to encode and decode Microsoft Active Directory Federation Services (ADFS) JSON Web Tokens (JWT) in PHP, conforming to RFC 7519.
Forked From firebase/php-jwt
Use composer to manage your dependencies and download PHP-ADFS-JWT:
composer require alancting/php-adfs-jwt<?php
use Alancting\Adfs\JWT\Adfs\AdfsConfiguration;
use Alancting\Adfs\JWT\Adfs\AdfsAccessTokenJWT;
use Alancting\Adfs\JWT\Adfs\AdfsIdTokenJWT;
$openid_configuration_url = 'https://[Your ADFS hostname]/adfs/.well-known/openid-configuration';
$client_id = 'your_client_id';
/**
* AdfsConfiguration will fetch the issuers, audiences and jwks for jwt validation
*/
$adfs_configs = new AdfsConfiguration($openid_configuration_url, $client_id);
$id_token_jwt = 'id.token.jwt';
$access_token_jwt = 'access.token.jwt';
/**
* If the jwt is invalid, exception will be thrown.
*/
$access_token = new AdfsAccessTokenJWT($adfs_configs, $access_token_jwt);
echo "\n";
// Getting the payload from access token
print_r($access_token->getPayload());
echo "\n";
$id_token = new AdfsIdTokenJWT($adfs_configs, $id_token_jwt);
echo "\n";
// Getting the unique_name(username) from id token
echo $id_token->getUsername();
echo "\n";
// Getting the payload from id token
print_r($id_token->getPayload());
echo "\n";
/**
* You might want to 'cache' the tokens for expire validation
* To check whether the access token and id token are expired, simply call
*/
echo ($access_token->isExpired()) ? 'Access token is expired' : 'Access token is valid';
echo ($id_token->isExpired()) ? 'Id token is expired' : 'Id token is valid';Run the tests using phpunit:
$ composer run test