Skip to content

ACS Platform - Assessment Control Service server

How to use the AcsServiceServerRequestHandler (with the core LtiServiceServer) to serve authenticated ACS service calls as a platform.

Features

This library provides a AcsServiceServerRequestHandler ready to be use with the core LtiServiceServer to handle assessment control requests.

Usage

First, you need to provide a AcsServiceServerControlProcessorInterface implementation, in charge to process the ACS control requests.

<?php

use OAT\Library\Lti1p3Core\Registration\RegistrationInterface;
use OAT\Library\Lti1p3Proctoring\Model\AcsControlInterface;
use OAT\Library\Lti1p3Proctoring\Model\AcsControlResultInterface;
use OAT\Library\Lti1p3Proctoring\Service\Server\Processor\AcsServiceServerControlProcessorInterface;

/** @var AcsServiceServerControlProcessorInterface $processor */
$processor = new class() implements AcsServiceServerControlProcessorInterface 
{
    public function process(
        RegistrationInterface $registration,
        AcsControlInterface $control
    ) : AcsControlResultInterface {
        // TODO: Implement process() method.
    }
};

Then:

<?php

use OAT\Library\Lti1p3Core\Registration\RegistrationRepositoryInterface;
use OAT\Library\Lti1p3Core\Security\OAuth2\Validator\RequestAccessTokenValidator;
use OAT\Library\Lti1p3Core\Service\Server\LtiServiceServer;
use OAT\Library\Lti1p3Proctoring\Service\Server\Processor\AcsServiceServerControlProcessorInterface;
use OAT\Library\Lti1p3Proctoring\Service\Server\Handler\AcsServiceServerRequestHandler;
use Psr\Http\Message\ServerRequestInterface;

/** @var ServerRequestInterface $request */
$request = ...

/** @var RegistrationRepositoryInterface $repository */
$repository = ...

/** @var AcsServiceServerControlProcessorInterface $processor */
$processor = ...

$validator = new RequestAccessTokenValidator($repository);

$handler = new AcsServiceServerRequestHandler($processor);

$server = new LtiServiceServer($validator, $handler);

// Generates an authenticated response containing the control result representation
$response = $server->handle($request);