ILIAS  release_8 Revision v8.24
xapitoken.php File Reference

Go to the source code of this file.

Functions

catch(ilCmiXapiException $e) send ($response)
 

Variables

 $tokenRestriction = true
 see: https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md#fetch_url response should always be a valid json object check oneway fetching is optional: More...
 
 $origParam = $_GET['param']
 
if(!isset($origParam)||!strlen($origParam)) try
 
 $param
 
 $_COOKIE [session_name()] = $param[session_name()]
 
 $_COOKIE ['ilClientId'] = $param['ilClientId']
 
 $objId = $param['obj_id']
 
 $refId = $param['ref_id']
 
 $DIC = $GLOBALS['DIC']
 
 $token = ilCmiXapiAuthToken::getInstanceByObjIdAndRefIdAndUsrId($objId, $refId, $DIC->user()->getId())
 
if( $object->getContentType()==ilObjCmiXapi::CONT_TYPE_CMI5) if($object->isBypassProxyEnabled()) else
 
 $response = array("auth-token" => $authToken)
 

Function Documentation

◆ send()

catch(ilCmiXapiException $e) send (   $response)

Definition at line 100 of file xapitoken.php.

100 : void
101{
102 if (isset($_SERVER["HTTP_ORIGIN"]) && $_SERVER["HTTP_ORIGIN"] != "") {
103 header('Access-Control-Allow-Origin: ' . $_SERVER["HTTP_ORIGIN"]);
104 }
105 header('Access-Control-Allow-Credentials: true');
106 header('Content-type:application/json;charset=utf-8');
107 echo json_encode($response);
108 exit;
109}
exit
Definition: login.php:28
$_SERVER['HTTP_HOST']
Definition: raiseError.php:10
$response
Definition: xapitoken.php:93

References $_SERVER, $response, and exit.

Referenced by ilBlockGUI\getHTMLNew(), ilNewsTimelineGUI\loadMore(), ilNewsTimelineGUI\remove(), ILIAS\Export\PrintProcessGUI\sendForm(), and ILIAS\Export\PrintProcessGUI\sendPrintView().

+ Here is the caller graph for this function:

Variable Documentation

◆ $_COOKIE [1/2]

$_COOKIE[ 'ilClientId'] = $param['ilClientId']

Definition at line 56 of file xapitoken.php.

◆ $_COOKIE [2/2]

◆ $DIC

$DIC = $GLOBALS['DIC']

Definition at line 62 of file xapitoken.php.

◆ $objId

$objId = $param['obj_id']

Definition at line 57 of file xapitoken.php.

Referenced by ilDclDetailedViewGUI\__construct(), ilSoapRepositoryStructureObject\__construct(), ilCmiXapiStatementsReport\__construct(), ilObjCourseReferenceAccess\_preloadData(), ilCachedCertificateTemplateRepository\activatePreviousCertificate(), ilLTIConsumerGradeServiceScores\checkScore(), ilObjChatroom\cloneObject(), ilUserCertificateRepository\deactivatePreviousCertificates(), ilCertificateTemplateDatabaseRepository\deactivatePreviousTemplates(), ilCmiXapiAuthToken\deleteTokenByObjIdAndRefIdAndUsrId(), ilCmiXapiAuthToken\deleteTokenByObjIdAndUsrId(), ilObjCourseGUI\deliverCertificateObject(), ilLPStatusLtiOutcome\ensureObject(), ilLPStatusCmiXapiAbstract\ensureObject(), ilForumExportGUI\ensureThreadBelongsToForum(), ilObjForumGUI\ensureThreadBelongsToForum(), ILIAS\Certificate\API\Filter\UserDataFilter\ensureValidUniqueObjIds(), ilUserCertificateRepository\fetchCertificatesOfObject(), ilCachedCertificateTemplateRepository\fetchCertificateTemplatesByObjId(), ilCertificateTemplateDatabaseRepository\fetchCertificateTemplatesByObjId(), ilCachedCertificateTemplateRepository\fetchCurrentlyActiveCertificate(), ilCertificateTemplateDatabaseRepository\fetchCurrentlyActiveCertificate(), ilCachedCertificateTemplateRepository\fetchCurrentlyUsedCertificate(), ilCertificateTemplateDatabaseRepository\fetchCurrentlyUsedCertificate(), ilCachedCertificateTemplateRepository\fetchFirstCreatedTemplate(), ilCertificateTemplateDatabaseRepository\fetchFirstCreatedTemplate(), ilUserCertificateRepository\fetchLatestVersion(), ilCachedCertificateTemplateRepository\fetchPreviousCertificate(), ilCertificateTemplateDatabaseRepository\fetchPreviousCertificate(), ilCmiXapiAuthToken\fillToken(), ilCmiXapiContentUploadImporter\generateActivityId(), ilPdfGenerator\generateCurrentActiveCertificate(), ilPdfGenerator\generateFileName(), ilMailAddressTypeHelperImpl\getAllRefIdsForObjId(), ilObjectCustomIconFactory\getByObjId(), ilCourseMailTemplateMemberContext\getCachedPeriodByObjId(), ilCourseMailTemplateTutorContext\getCachedPeriodByObjId(), ilCmiXapiAuthToken\getCmi5SessionByUsrIdAndObjIdAndRefId(), ilLPStatusCmiXapiAbstract\getCmixUserResult(), ilForumDraftsDerivedTaskProvider\getFirstRefIdWithPermission(), ilLTIConsumerGradeSynchronization\getGradesForObject(), ilCertificateObjectLPHelper\getInstance(), ilCmiXapiAuthToken\getInstanceByObjIdAndRefIdAndUsrId(), ilCmiXapiAuthToken\getInstanceByObjIdAndUsrId(), XapiProxy\XapiProxyPolyFill\getLrsType(), ilLPStatusLtiOutcome\getLtiUserResult(), ilPDSelectedItemsBlockMembershipsProvider\getObjectsByMembership(), ilCmiXapiPlaceholderValues\getPlaceholderValues(), ilLTIConsumerPlaceholderValues\getPlaceholderValues(), ilScormPlaceholderValues\getPlaceholderValues(), ilCoursePlaceholderValues\getPlaceholderValues(), ilExercisePlaceholderValues\getPlaceholderValues(), ilStudyProgrammePlaceholderValues\getPlaceholderValues(), ilCmiXapiPlaceholderValues\getPlaceholderValuesForPreview(), ilLTIConsumerPlaceholderValues\getPlaceholderValuesForPreview(), ilScormPlaceholderValues\getPlaceholderValuesForPreview(), ilCoursePlaceholderValues\getPlaceholderValuesForPreview(), ilDefaultPlaceholderValues\getPlaceholderValuesForPreview(), ilExercisePlaceholderValues\getPlaceholderValuesForPreview(), ilObjectCustomUserFieldsPlaceholderValues\getPlaceholderValuesForPreview(), ilStudyProgrammePlaceholderValues\getPlaceholderValuesForPreview(), ilTestPlaceholderValues\getPlaceholderValuesForPreview(), ilObjectCustomIconFactory\getPresenterByObjId(), ilForumNotificationDataProvider\getRefIdsByObjId(), ilLTIConsumerResult\getResultsForObject(), ilForumDraftsDerivedTaskProvider\getTasks(), ilLPStatusCmiXapiAbstract\getUserIdsByLpStatusNum(), ilLPStatusTestPassed\getUserIdsByResultArrayStatus(), ilLTIConsumerGradeServiceScores\getUsrIdForObjectAndUsrIdent(), ilBlogDraftsDerivedTaskProvider\getWspId(), ilObjChatroomGUI\insertObject(), ilCmiXapiAuthToken\insertToken(), ilObjChatroomAccess\isActivated(), ilCertificateDownloadValidator\isCertificateDownloadable(), ilLPStatusCollection\isMember(), ilCertificateUserForObjectPreloader\isPreloaded(), ilCertificateObjectsForUserPreloader\isPreloaded(), ilEmployeeTalkMyStaffListGUI\loadActionBar(), ilObjTest\lookupQuestionSetType(), ilCertificateLPStatusHelper\lookupStatusChanged(), ilCmiXapiHighscoreReportRequest\queryReport(), ilCmiXapiStatementsReportRequest\queryReport(), ilXapiResultsCronjob\run(), ilObjCmiXapiVerificationGUI\save(), ilObjLTIConsumerVerificationGUI\save(), ilCertificateTemplateDatabaseRepository\save(), ilUserCertificateRepository\save(), ilObjChatroomAccessTest\testAccessChecksFail(), ilObjChatroomAccessTest\testAccessChecksSucceed(), ilCertificateUserCertificateAccessValidator\validate(), ilSCORMItemGUI\view(), and ilSCORMPresentationGUI\view().

◆ $origParam

$origParam = $_GET['param']

Definition at line 36 of file xapitoken.php.

◆ $param

$param
Initial value:

Definition at line 46 of file xapitoken.php.

Referenced by ilCombinationInputGUI\__call(), ILIAS\Notifications\ilNotificationOSDHandler\appendParamToLink(), ILIAS\UI\examples\ViewControl\Mode\base(), ILIAS\UI\examples\ViewControl\Section\base(), ILIAS\GlobalScreen\Scope\Layout\Factory\AbstractLayoutModification\checkClosure(), ilOrgUnitStaffGUI\confirmRemoveUser(), ilErrorHandling\devmodeHandler(), ilWebResourceEditableLinkTableGUI\fillRow(), ilCmiXapiLaunchGUI\getAuthTokenFetchLink(), ilObjTestListGUI\getCommandLink(), ilObjQuestionPoolListGUI\getCommandLink(), ilObjLTIConsumer\getCustomParamsArray(), LSUrlBuilder\getHref(), ilForumXMLParser\getIdAndAliasArray(), ILIAS\Data\URI\getParameter(), ilObjLTIConsumer\getProviderCustomParamsArray(), ilObjQuestionPoolGUI\getQueryParamInt(), ilObjQuestionPoolGUI\getQueryParamString(), ILIAS\LTI\ToolProvider\Util\getRequestParameters(), LSUrlBuilder\getURL(), ilWACPath\handleParameters(), ILIAS\CI\Rector\DIC\DICDependencyManipulator\hasMethodParameter(), ilObjLinkResourceGUI\initFormLink(), nusoap_server\invoke_method(), ilPortfolioPageGUI\makePlaceHoldersClickable(), ILIAS\Notes\NotificationsManager\notifyObserver(), ilICalParser\parseLine(), ilVirusScannerICapRemote\parseResponse(), ilLSPlayer\play(), ilLanguageFile\read(), ILIAS\LTI\ToolProvider\Tool\sendAuthenticationRequest(), ilICalParser\storeItems(), ilWebResourceParameterTest\testAppendToLink(), ilWebResourceParameterTest\testAppendToLinkException(), ilWebResourceParameterTest\testGetInfo(), ilWebResourceParameterTest\testGetInfoException(), ilWebResourceParameterTest\testToXML(), ilObjLinkResourceGUI\updateLinks(), ilLSPlayer\updateViewState(), and ilICalParser\writeEvent().

◆ $refId

$refId = $param['ref_id']

Definition at line 58 of file xapitoken.php.

Referenced by ilObjTestGUI\__construct(), ilObjEmployeeTalkGUI\__construct(), ilObjEmployeeTalkSeriesGUI\__construct(), ilSoapRepositoryStructureObject\__construct(), ilObjDataCollectionGUI\_goto(), ilObjEmployeeTalkSeriesGUI\_goto(), ilObjContentPageGUI\_goto(), ilDataCollectionUiAdapter\addDataCollectionEndpointToNavigationHistory(), ilDataCollectionUiAdapter\addPermaLinkTableView(), ILIAS\Certificate\API\Data\UserCertificateDto\addRefId(), ilObjTestDynamicQuestionSetConfig\areDepenciesInVulnerableState(), ilObjLTIConsumer\buildContentSelectionParameters(), ilLTIConsumerProviderUsageTableGUI\buildLinkToUsedBy(), ilObjEmployeeTalkAccess\canDelete(), ilObjEmployeeTalkAccess\canEditTalkLockStatus(), ilObjLTIConsumerGUI\checkContentSelection(), ilChatroom\checkPermissions(), ilPollBlockGUI\commentJSCall(), ilObjEmployeeTalkGUI\confirmedDeleteObject(), ilObjLTIConsumerGUI\contentSelection(), ilMailTest\create(), ilForumNotificationDataProvider\createRecipientArray(), ilCmiXapiAuthToken\deleteTokenByObjIdAndRefIdAndUsrId(), ilObjDataCollectionGUI\editObject(), ilCertificateCourseLearningProgressEvaluation\evaluate(), ilObjChatroomGUI\executeCommand(), ilObjSAHSLearningModuleGUI\executeCommand(), ilChatroomInfoGUI\executeDefault(), ilCmiXapiAuthToken\fillToken(), ilEmployeeTalkMyStaffListGUI\getActions(), ilCmiXapiAuthToken\getCmi5SessionByUsrIdAndObjIdAndRefId(), ilTestRandomQuestionSetConfig\getCommaSeparatedSourceQuestionPoolLinks(), ilBlogDraftsDerivedTaskProvider\getFirstRefIdWithPermission(), ilForumDraftsDerivedTaskProvider\getFirstRefIdWithPermission(), ilCmiXapiAuthToken\getInstanceByObjIdAndRefIdAndUsrId(), ilMailAddressTypeHelperImpl\getInstanceByRefId(), ilPDSelectedItemsBlockMembershipsProvider\getObjectsByMembership(), ilEmployeeTalkAppointmentGUI\getPendingTalksInSeries(), ilTestQuestionBrowserTableGUI\getQuestionParentObjIds(), ilTestExpressPage\getReturnToPageLink(), ilObjTestDynamicQuestionSetConfig\getSourceQuestionPoolLink(), ilObjTestDynamicQuestionSetConfig\getSourceQuestionPoolSummaryString(), ilBlogDraftsDerivedTaskProvider\getTasks(), ilForumDraftsDerivedTaskProvider\getTasks(), ilObjEmployeeTalkSeriesGUI\getTemplateRefId(), ilSoapTestAdministration\getTestAccess(), ilCertificateAppEventListener\handleLPUpdate(), ilDataCollectionAccessAdapter\hasEditPermissionPermission(), ilDataCollectionAccessAdapter\hasReadPermission(), ilDataCollectionAccessAdapter\hasVisiblePermission(), ilDataCollectionAccessAdapter\hasWritePermission(), ilObjChatroomGUI\insertObject(), ilCmiXapiAuthToken\insertToken(), ilObjChatroomAccess\isActivated(), ilObjEmployeeTalkAccess\isPermittedToExecuteOperation(), ilPDSelectedItemsBlockViewGUI\isRootNode(), ilUserCertificateGUI\listCertificates(), ilEmployeeTalkMyStaffListGUI\loadActionBar(), ilEmployeeTalkMyStaffUserGUI\loadActionBar(), ilCertificateObjectHelper\lookupObjId(), ilPDSelectedItemsBlockMembershipsViewGUI\mayRemoveItem(), ilMailGroupAddressType\resolve(), ilCertificateSettingsCourseFormRepository\save(), ilObjLTIConsumerGUI\saveContentSelection(), ilSCORM2004StoreData\scormPlayerUnload(), ilHelpGUI\setCtrlPar(), ilObjDataCollectionGUI\setTabs(), ilObjSAHSLearningModuleGUI\setTabs(), ilObjSCORMTracking\storeJsApi(), ilObjSCORMTracking\syncGlobalStatus(), ilSCORM2004StoreData\syncGlobalStatus(), ilObjChatroomAccessTest\testAccessChecksFail(), ilObjChatroomAccessTest\testAccessChecksSucceed(), ilForumNotificationTest\testCheckForumsExistsInsert(), ilMailTest\testGetMailObjectReferenceId(), ilObjSAHSLearningModuleGUI\uploadObject(), ilObjEmployeeTalkGUI\validateCustom(), and ilSCORMItemGUI\view().

◆ $response

$response = array("auth-token" => $authToken)

Definition at line 93 of file xapitoken.php.

Referenced by send().

◆ $token

$token = ilCmiXapiAuthToken::getInstanceByObjIdAndRefIdAndUsrId($objId, $refId, $DIC->user()->getId())

Definition at line 70 of file xapitoken.php.

Referenced by XapiProxy\XapiProxy\__construct(), XapiProxy\XapiProxyPolyFill\__construct(), ILIAS\UI\URLBuilder\acquireParameter(), ILIAS\UI\URLBuilder\acquireParameters(), ilObjLTIConsumer\buildLaunchParameters(), ilDclExpressionParser\calculateFunctions(), ilPersonalProfileGUI\changeEmail(), ilWebDAVLocksRepository\checkIfLockExistsInDB(), ILIAS\UI\URLBuilder\checkToken(), ilLTIConsumerResourceBase\checkTool(), ilCmiXapiLaunchGUI\CMI5preLaunch(), ilObjLTIConsumerGUI\contentSelectionResponse(), ilCalendarSubscriptionGUI\createToken(), ILIAS\User\Profile\ProfileChangeMailTokenDBRepository\deleteEntryByToken(), ILIAS\UI\URLBuilder\deleteParameter(), EvalMath\evaluate(), ilLTIConsumerGradeServiceScores\execute(), EvalMath\from_hexbin(), ilCtrlTokenRepository\generateToken(), ilLTIConsumerContentGUI\getLaunchParameters(), ilCmiXapiLaunchGUI\getLaunchParameters(), ilWebDAVLocksRepository\getLockObjectWithTokenFromDB(), ilWACTokenTest\getModifiedSignedPath(), ILIAS\User\Profile\ProfileChangeMailTokenDBRepository\getNewTokenForUser(), ilLTIConsumerContentGUI\getStartButtonTxt11(), ilLTIConsumerContentGUI\getStartButtonTxt13(), ilCtrlTokenRepository\getToken(), ilObjLTIConsumer\getTokenObject(), ilCmiXapiLaunchGUI\getValidToken(), ilPersonalProfileGUI\goToEmailConfirmation(), ilLTIConsumerResultService\handleRequest(), ilECSParticipantSettingsGUI\initFormSettings(), ilCalendarRemoteAccessHandler\initTokenHandler(), ilDclExpressionParser\isMathToken(), ilCmiXapiLaunchGUI\launchCmd(), ilDclExpressionParser\parse(), ilLangDeprecated\parseCodeFile(), ilDclExpressionParser\parseMath(), EvalMath\pfx(), ILIAS\ResourceStorage\Consumer\StreamAccess\StreamAccess\populateRevision(), ilWebDAVLocksRepository\removeLockWithTokenFromDB(), ILIAS\UI\URLBuilder\renderTokens(), ilObjLTIConsumerGUI\saveContentSelection(), sendAccessToken(), ActionTest\setUp(), ilCtrlTokenRepository\storeToken(), ilDclExpressionParser\substituteFieldValues(), ILIAS\UI\URLBuilderTokenTest\testConstruct(), DataTest\testDataTableActions(), DataRendererTest\testDataTableGetActionRegistration(), DataRendererTest\testDataTableMultiActionsDropdown(), DataRendererTest\testDataTableRenderHeaderWithActions(), DataRendererTest\testDataTableRowBuilder(), DataRendererTest\testDataTableSingleActionsDropdown(), ActionFactoryTest\testImplementsInterfaces(), ILIAS\ResourceStorage\Flavours\AccessTokenTest\testMemoryStream(), ILIAS\ResourceStorage\Flavours\AccessTokenTest\testRealStream(), ILIAS\UI\URLBuilderTokenTest\testTokenLength(), ILIAS\UI\URLBuilderTokenTest\testTokenName(), ilCtrlTokenTest\testTokenRetrieval(), ilCtrlTokenTest\testTokenVerification(), XapiProxy\XapiProxy\token(), validateServiceToken(), ilObjLTIConsumer\verifyToken(), and ILIAS\UI\URLBuilder\withParameter().

◆ $tokenRestriction

$tokenRestriction = true

see: https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md#fetch_url response should always be a valid json object check oneway fetching is optional:

The AU SHOULD NOT attempt to retrieve the authorization token more than once. The fetch URL is a "one-time use" URL and subsequent uses SHOULD generate an error (see Section 8.2.3).

On reloading the initial content page it will send the exact url twice, should we really restrict this behavior? If there are issues on page reload it might be useful to set $tokenRestriction = false .

Definition at line 34 of file xapitoken.php.

◆ else

if($object->getContentType()==ilObjCmiXapi::CONT_TYPE_CMI5) if ( $object->isBypassProxyEnabled()) else
Initial value:
{
$authToken = base64_encode(CLIENT_ID . ':' . $token->getToken())
const CLIENT_ID
Definition: constants.php:41
$token
Definition: xapitoken.php:70

Definition at line 88 of file xapitoken.php.

◆ try

catch (ilCmiXapiException $e) try
Initial value:
{
$param = base64_decode(rawurldecode($origParam))
$origParam
Definition: xapitoken.php:36

Definition at line 43 of file xapitoken.php.