CMS Token Provider

For the most up-to-date documentation, please visit docs.brix.ch

How might you go about writing your own token privoder in your CMS?

Here's a simple example in PHP using JWT tokens - you'd only need to implement getLoggedInCmsUser()

<?php
    use ReallySimpleJWT\Token; //  composer require rbdwllr/reallysimplejwt
    require 'vendor/autoload.php';
    $secret = 'sec!ReT123&'; // CHANGE THIS ^^

    function getLoggedInCmsUser() {
        return 'example'; // TODO implement (this bit will depend on your CMS)
    }

    if (isset($_GET['validate'])) { // validate an incoming request from the backend
        $valid = Token::validate($_GET['validate'], $secret);
        http_response_code($valid ? 200 : 403);
        echo $valid ? 'valid' : 'invalid'; // for humans
    } else { // generate a new access token based on the CMS logged in user
        $user = getLoggedInCmsUser();
        if ($user) {
            $expiration = time() + 3600;
            $token = Token::create($user, $secret, $expiration, 'cms');
            header('Content-Type: text/plain');
            echo $token;
        } else {
            http_response_code(401);
        }
    }

This example works with the anuraStatusCodeTokenVerifier