mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
622 lines
40 KiB
HTML
622 lines
40 KiB
HTML
<!doctype html>
|
|
<html class="default no-js">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title>WebAclAuthorizer | Community Solid Server</title>
|
|
<meta name="description" content="Documentation for Community Solid Server">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet" href="../assets/css/main.css">
|
|
<script async src="../assets/js/search.js" id="search-script"></script>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="tsd-page-toolbar">
|
|
<div class="container">
|
|
<div class="table-wrap">
|
|
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
|
|
<div class="field">
|
|
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
|
|
<input id="tsd-search-field" type="text" />
|
|
</div>
|
|
<ul class="results">
|
|
<li class="state loading">Preparing search index...</li>
|
|
<li class="state failure">The search index is not available</li>
|
|
</ul>
|
|
<a href="../index.html" class="title">Community Solid Server</a>
|
|
</div>
|
|
<div class="table-cell" id="tsd-widgets">
|
|
<div id="tsd-filter">
|
|
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
|
|
<div class="tsd-filter-group">
|
|
<div class="tsd-select" id="tsd-filter-visibility">
|
|
<span class="tsd-select-label">All</span>
|
|
<ul class="tsd-select-list">
|
|
<li data-value="public">Public</li>
|
|
<li data-value="protected">Public/Protected</li>
|
|
<li data-value="private" class="selected">All</li>
|
|
</ul>
|
|
</div>
|
|
<input type="checkbox" id="tsd-filter-inherited" checked />
|
|
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
|
|
<input type="checkbox" id="tsd-filter-externals" checked />
|
|
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
|
|
</div>
|
|
</div>
|
|
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tsd-page-title">
|
|
<div class="container">
|
|
<ul class="tsd-breadcrumb">
|
|
<li>
|
|
<a href="../modules.html">Community Solid Server</a>
|
|
</li>
|
|
<li>
|
|
<a href="../modules/authorization_webaclauthorizer.html">authorization/WebAclAuthorizer</a>
|
|
</li>
|
|
<li>
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html">WebAclAuthorizer</a>
|
|
</li>
|
|
</ul>
|
|
<h1>Class WebAclAuthorizer</h1>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="container container-main">
|
|
<div class="row">
|
|
<div class="col-8 col-content">
|
|
<section class="tsd-panel tsd-comment">
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Handles most web access control predicates such as
|
|
<code>acl:mode</code>, <code>acl:agentClass</code>, <code>acl:agent</code>, <code>acl:default</code> and <code>acl:accessTo</code>.
|
|
Does not support <code>acl:agentGroup</code>, <code>acl:origin</code> and <code>acl:trustedApp</code> yet.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="tsd-panel tsd-hierarchy">
|
|
<h3>Hierarchy</h3>
|
|
<ul class="tsd-hierarchy">
|
|
<li>
|
|
<a href="authorization_authorizer.authorizer.html" class="tsd-signature-type" data-tsd-kind="Class">Authorizer</a>
|
|
<ul class="tsd-hierarchy">
|
|
<li>
|
|
<span class="target">WebAclAuthorizer</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-index-group">
|
|
<h2>Index</h2>
|
|
<section class="tsd-panel tsd-index-panel">
|
|
<div class="tsd-index-content">
|
|
<section class="tsd-index-section ">
|
|
<h3>Constructors</h3>
|
|
<ul class="tsd-index-list">
|
|
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><a href="authorization_webaclauthorizer.webaclauthorizer.html#constructor" class="tsd-kind-icon">constructor</a></li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-index-section tsd-is-private-protected">
|
|
<h3>Properties</h3>
|
|
<ul class="tsd-index-list">
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#aclmanager" class="tsd-kind-icon">acl<wbr>Manager</a></li>
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#identifierstrategy" class="tsd-kind-icon">identifier<wbr>Strategy</a></li>
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="authorization_webaclauthorizer.webaclauthorizer.html#logger" class="tsd-kind-icon">logger</a></li>
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#resourcestore" class="tsd-kind-icon">resource<wbr>Store</a></li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-index-section ">
|
|
<h3>Methods</h3>
|
|
<ul class="tsd-index-list">
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="authorization_webaclauthorizer.webaclauthorizer.html#canhandle" class="tsd-kind-icon">can<wbr>Handle</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#capitalize" class="tsd-kind-icon">capitalize</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#checkpermission" class="tsd-kind-icon">check<wbr>Permission</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#filterdata" class="tsd-kind-icon">filter<wbr>Data</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#getaclrecursive" class="tsd-kind-icon">get<wbr>Acl<wbr>Recursive</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="authorization_webaclauthorizer.webaclauthorizer.html#handle" class="tsd-kind-icon">handle</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="authorization_webaclauthorizer.webaclauthorizer.html#handlesafe" class="tsd-kind-icon">handle<wbr>Safe</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#hasaccess" class="tsd-kind-icon">has<wbr>Access</a></li>
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-member-group ">
|
|
<h2>Constructors</h2>
|
|
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
|
|
<a name="constructor" class="tsd-anchor"></a>
|
|
<h3>constructor</h3>
|
|
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
|
|
<li class="tsd-signature tsd-kind-icon">new <wbr>Web<wbr>Acl<wbr>Authorizer<span class="tsd-signature-symbol">(</span>aclManager<span class="tsd-signature-symbol">: </span><a href="../interfaces/authorization_aclmanager.aclmanager.html" class="tsd-signature-type" data-tsd-kind="Interface">AclManager</a>, resourceStore<span class="tsd-signature-symbol">: </span><a href="../interfaces/storage_resourcestore.resourcestore.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceStore</a>, identifierStrategy<span class="tsd-signature-symbol">: </span><a href="../interfaces/util_identifiers_identifierstrategy.identifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="authorization_webaclauthorizer.webaclauthorizer.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorizer</a></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<p>Inherited from <a href="authorization_authorizer.authorizer.html">Authorizer</a>.<a href="authorization_authorizer.authorizer.html#constructor">constructor</a></p>
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L30">src/authorization/WebAclAuthorizer.ts:30</a></li>
|
|
</ul>
|
|
</aside>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>aclManager: <a href="../interfaces/authorization_aclmanager.aclmanager.html" class="tsd-signature-type" data-tsd-kind="Interface">AclManager</a></h5>
|
|
</li>
|
|
<li>
|
|
<h5>resourceStore: <a href="../interfaces/storage_resourcestore.resourcestore.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceStore</a></h5>
|
|
</li>
|
|
<li>
|
|
<h5>identifierStrategy: <a href="../interfaces/util_identifiers_identifierstrategy.identifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></h5>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <a href="authorization_webaclauthorizer.webaclauthorizer.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorizer</a></h4>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-member-group tsd-is-private-protected">
|
|
<h2>Properties</h2>
|
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
|
<a name="aclmanager" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> acl<wbr>Manager</h3>
|
|
<div class="tsd-signature tsd-kind-icon">acl<wbr>Manager<span class="tsd-signature-symbol">:</span> <a href="../interfaces/authorization_aclmanager.aclmanager.html" class="tsd-signature-type" data-tsd-kind="Interface">AclManager</a></div>
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L28">src/authorization/WebAclAuthorizer.ts:28</a></li>
|
|
</ul>
|
|
</aside>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
|
<a name="identifierstrategy" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> identifier<wbr>Strategy</h3>
|
|
<div class="tsd-signature tsd-kind-icon">identifier<wbr>Strategy<span class="tsd-signature-symbol">:</span> <a href="../interfaces/util_identifiers_identifierstrategy.identifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></div>
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L30">src/authorization/WebAclAuthorizer.ts:30</a></li>
|
|
</ul>
|
|
</aside>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected">
|
|
<a name="logger" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagProtected">Protected</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> logger</h3>
|
|
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <a href="logging_logger.logger.html" class="tsd-signature-type" data-tsd-kind="Class">Logger</a><span class="tsd-signature-symbol"> = ...</span></div>
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L26">src/authorization/WebAclAuthorizer.ts:26</a></li>
|
|
</ul>
|
|
</aside>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
|
<a name="resourcestore" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> resource<wbr>Store</h3>
|
|
<div class="tsd-signature tsd-kind-icon">resource<wbr>Store<span class="tsd-signature-symbol">:</span> <a href="../interfaces/storage_resourcestore.resourcestore.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceStore</a></div>
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L29">src/authorization/WebAclAuthorizer.ts:29</a></li>
|
|
</ul>
|
|
</aside>
|
|
</section>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-member-group ">
|
|
<h2>Methods</h2>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
|
|
<a name="canhandle" class="tsd-anchor"></a>
|
|
<h3>can<wbr>Handle</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
|
|
<li class="tsd-signature tsd-kind-icon">can<wbr>Handle<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<p>Inherited from <a href="authorization_authorizer.authorizer.html">Authorizer</a>.<a href="authorization_authorizer.authorizer.html#canhandle">canHandle</a></p>
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/util/AsyncHandler.ts#L13">src/util/AsyncHandler.ts:13</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Checks if the input data can be handled by this class.
|
|
Throws an error if it can't handle the data.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>input: <a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Input data that would be handled potentially.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>A promise resolving if this input can be handled, rejecting with an Error if not.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a name="capitalize" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> capitalize</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<li class="tsd-signature tsd-kind-icon">capitalize<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L86">src/authorization/WebAclAuthorizer.ts:86</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Capitalizes the input string.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>mode: <span class="tsd-signature-type">string</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>String to transform.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
|
|
<p>The capitalized string.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a name="checkpermission" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> check<wbr>Permission</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<li class="tsd-signature tsd-kind-icon">check<wbr>Permission<span class="tsd-signature-symbol">(</span>agent<span class="tsd-signature-symbol">: </span><a href="../interfaces/authentication_credentials.credentials.html" class="tsd-signature-type" data-tsd-kind="Interface">Credentials</a>, store<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L65">src/authorization/WebAclAuthorizer.ts:65</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Checks if any of the triples in the store grant the agent permission to use the given mode.
|
|
Throws a <a href="util_errors_forbiddenhttperror.forbiddenhttperror.html">ForbiddenHttpError</a> or <a href="util_errors_unauthorizedhttperror.unauthorizedhttperror.html">UnauthorizedHttpError</a> depending on the credentials
|
|
if access is not allowed.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>agent: <a href="../interfaces/authentication_credentials.credentials.html" class="tsd-signature-type" data-tsd-kind="Interface">Credentials</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Agent that wants access.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>store: <span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>A store containing the relevant triples for authorization.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>mode: <span class="tsd-signature-type">string</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Which mode is requested. Probable one of ('write' | 'read' | 'append' | 'control').</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a name="filterdata" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> filter<wbr>Data</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<li class="tsd-signature tsd-kind-icon">filter<wbr>Data<span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a>, predicate<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, object<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L161">src/authorization/WebAclAuthorizer.ts:161</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Finds all triples in the data stream of the given representation that use the given predicate and object.
|
|
Then extracts the unique subjects from those triples,
|
|
and returns a Store containing all triples from the data stream that have such a subject.</p>
|
|
</div>
|
|
<p>This can be useful for finding the <code>acl:Authorization</code> objects corresponding to a specific URI
|
|
and returning all relevant information on them.</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>data: <a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Representation with data stream of internal/quads.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>predicate: <span class="tsd-signature-type">string</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Predicate to match.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>object: <span class="tsd-signature-type">string</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Object to match.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>A store containing the relevant triples.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a name="getaclrecursive" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> get<wbr>Acl<wbr>Recursive</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<li class="tsd-signature tsd-kind-icon">get<wbr>Acl<wbr>Recursive<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, recurse<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L120">src/authorization/WebAclAuthorizer.ts:120</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Returns the acl triples that are relevant for the given identifier.
|
|
These can either be from a corresponding acl file or an acl file higher up with defaults.
|
|
Rethrows any non-NotFoundHttpErrors thrown by the AclManager or ResourceStore.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>id: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>ResourceIdentifier of which we need the acl triples.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5><span class="tsd-flag ts-flagOptional">Optional</span> recurse: <span class="tsd-signature-type">boolean</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Only used internally for recursion.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>A store containing the relevant acl triples.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
|
|
<a name="handle" class="tsd-anchor"></a>
|
|
<h3>handle</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
|
|
<li class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<p>Overrides <a href="authorization_authorizer.authorizer.html">Authorizer</a>.<a href="authorization_authorizer.authorizer.html#handle">handle</a></p>
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L44">src/authorization/WebAclAuthorizer.ts:44</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Checks if an agent is allowed to execute the requested actions.
|
|
Will throw an error if this is not the case.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>input: <a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Relevant data needed to check if access can be granted.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
|
|
<a name="handlesafe" class="tsd-anchor"></a>
|
|
<h3>handle<wbr>Safe</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
|
|
<li class="tsd-signature tsd-kind-icon">handle<wbr>Safe<span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<p>Inherited from <a href="authorization_authorizer.authorizer.html">Authorizer</a>.<a href="authorization_authorizer.authorizer.html#handlesafe">handleSafe</a></p>
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/util/AsyncHandler.ts#L33">src/util/AsyncHandler.ts:33</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Helper function that first runs the canHandle function followed by the handle function.
|
|
Throws the error of the <a href="authorization_webaclauthorizer.webaclauthorizer.html#canhandle">canHandle</a> function if the data can't be handled,
|
|
or returns the result of the <a href="authorization_webaclauthorizer.webaclauthorizer.html#handle">handle</a> function otherwise.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>data: <a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>The data to handle.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>The result of the handle function of the handler.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a name="hasaccess" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagPrivate">Private</span> has<wbr>Access</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<li class="tsd-signature tsd-kind-icon">has<wbr>Access<span class="tsd-signature-symbol">(</span>agent<span class="tsd-signature-symbol">: </span><a href="../interfaces/authentication_credentials.credentials.html" class="tsd-signature-type" data-tsd-kind="Interface">Credentials</a>, auth<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Term</span>, store<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/solid/community-server/blob/dc62c84/src/authorization/WebAclAuthorizer.ts#L98">src/authorization/WebAclAuthorizer.ts:98</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Checks if the given agent has access to the modes specified by the given authorization.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>agent: <a href="../interfaces/authentication_credentials.credentials.html" class="tsd-signature-type" data-tsd-kind="Interface">Credentials</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Credentials of agent that needs access.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>auth: <span class="tsd-signature-type">Term</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>acl:Authorization that needs to be checked.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>store: <span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Quad</span><span class="tsd-signature-symbol">></span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>A store containing the relevant triples of the authorization.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
|
|
<p>If the agent has access.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</section>
|
|
</div>
|
|
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
|
<nav class="tsd-navigation primary">
|
|
<ul>
|
|
<li class=" ">
|
|
<a href="../modules.html">Exports</a>
|
|
</li>
|
|
<li class="current tsd-kind-module">
|
|
<a href="../modules/authorization_webaclauthorizer.html">authorization/<wbr>Web<wbr>Acl<wbr>Authorizer</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<nav class="tsd-navigation secondary menu-sticky">
|
|
<ul class="before-current">
|
|
</ul>
|
|
<ul class="current">
|
|
<li class="current tsd-kind-class tsd-parent-kind-module">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html" class="tsd-kind-icon">Web<wbr>Acl<wbr>Authorizer</a>
|
|
<ul>
|
|
<li class=" tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#constructor" class="tsd-kind-icon">constructor</a>
|
|
</li>
|
|
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#aclmanager" class="tsd-kind-icon">acl<wbr>Manager</a>
|
|
</li>
|
|
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#identifierstrategy" class="tsd-kind-icon">identifier<wbr>Strategy</a>
|
|
</li>
|
|
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-protected">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#logger" class="tsd-kind-icon">logger</a>
|
|
</li>
|
|
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#resourcestore" class="tsd-kind-icon">resource<wbr>Store</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#canhandle" class="tsd-kind-icon">can<wbr>Handle</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#capitalize" class="tsd-kind-icon">capitalize</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#checkpermission" class="tsd-kind-icon">check<wbr>Permission</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#filterdata" class="tsd-kind-icon">filter<wbr>Data</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#getaclrecursive" class="tsd-kind-icon">get<wbr>Acl<wbr>Recursive</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#handle" class="tsd-kind-icon">handle</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#handlesafe" class="tsd-kind-icon">handle<wbr>Safe</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
|
<a href="authorization_webaclauthorizer.webaclauthorizer.html#hasaccess" class="tsd-kind-icon">has<wbr>Access</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<ul class="after-current">
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
<div class="container">
|
|
<h2>Legend</h2>
|
|
<div class="tsd-legend-group">
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
|
|
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
|
|
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
|
|
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
|
|
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
|
|
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
|
|
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
<div class="overlay"></div>
|
|
<script src="../assets/js/main.js"></script>
|
|
</body>
|
|
</html> |