This commit is contained in:
RubenVerborgh
2021-03-04 12:04:40 +00:00
parent f9182a6c94
commit fe4663945a
628 changed files with 41549 additions and 6824 deletions

View File

@@ -3,8 +3,8 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>WebAclAuthorizer | Community Solid Server - v0.7.0</title>
<meta name="description" content="Documentation for Community Solid Server - v0.7.0">
<title>WebAclAuthorizer | Community Solid Server - v0.8.0</title>
<meta name="description" content="Documentation for Community Solid Server - v0.8.0">
<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>
@@ -23,7 +23,7 @@
<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 - v0.7.0</a>
<a href="../index.html" class="title">Community Solid Server - v0.8.0</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
@@ -52,7 +52,7 @@
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../modules.html">Community Solid Server - v0.7.0</a>
<a href="../modules.html">Community Solid Server - v0.8.0</a>
</li>
<li>
<a href="../modules/authorization_webaclauthorizer.html">authorization/WebAclAuthorizer</a>
@@ -103,7 +103,7 @@
<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#aclstrategy" class="tsd-kind-icon">acl<wbr>Strategy</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>
@@ -112,15 +112,18 @@
<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-overwrite"><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#createauthorization" class="tsd-kind-icon">create<wbr>Authorization</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#createpermissions" class="tsd-kind-icon">create<wbr>Permissions</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-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#getmodepermissions" class="tsd-kind-icon">get<wbr>Mode<wbr>Permissions</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>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="authorization_webaclauthorizer.webaclauthorizer.html#haspermission" class="tsd-kind-icon">has<wbr>Permission</a></li>
</ul>
</section>
</div>
@@ -132,20 +135,20 @@
<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>
<li class="tsd-signature tsd-kind-icon">new <wbr>Web<wbr>Acl<wbr>Authorizer<span class="tsd-signature-symbol">(</span>aclStrategy<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_auxiliary_auxiliaryidentifierstrategy.auxiliaryidentifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryIdentifierStrategy</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/59a7c51/src/authorization/WebAclAuthorizer.ts#L29">src/authorization/WebAclAuthorizer.ts:29</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L31">src/authorization/WebAclAuthorizer.ts:31</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>
<h5>aclStrategy: <a href="../interfaces/ldp_auxiliary_auxiliaryidentifierstrategy.auxiliaryidentifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryIdentifierStrategy</a></h5>
</li>
<li>
<h5>resourceStore: <a href="../interfaces/storage_resourcestore.resourcestore.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceStore</a></h5>
@@ -162,12 +165,12 @@
<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>
<a name="aclstrategy" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> acl<wbr>Strategy</h3>
<div class="tsd-signature tsd-kind-icon">acl<wbr>Strategy<span class="tsd-signature-symbol">:</span> <a href="../interfaces/ldp_auxiliary_auxiliaryidentifierstrategy.auxiliaryidentifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryIdentifierStrategy</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/59a7c51/src/authorization/WebAclAuthorizer.ts#L27">src/authorization/WebAclAuthorizer.ts:27</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L29">src/authorization/WebAclAuthorizer.ts:29</a></li>
</ul>
</aside>
</section>
@@ -177,7 +180,7 @@
<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/59a7c51/src/authorization/WebAclAuthorizer.ts#L29">src/authorization/WebAclAuthorizer.ts:29</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L31">src/authorization/WebAclAuthorizer.ts:31</a></li>
</ul>
</aside>
</section>
@@ -187,7 +190,7 @@
<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/59a7c51/src/authorization/WebAclAuthorizer.ts#L25">src/authorization/WebAclAuthorizer.ts:25</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L27">src/authorization/WebAclAuthorizer.ts:27</a></li>
</ul>
</aside>
</section>
@@ -197,44 +200,34 @@
<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/59a7c51/src/authorization/WebAclAuthorizer.ts#L28">src/authorization/WebAclAuthorizer.ts:28</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L30">src/authorization/WebAclAuthorizer.ts:30</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">
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
<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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
<li class="tsd-signature tsd-kind-icon">can<wbr>Handle<span class="tsd-signature-symbol">(</span>__namedParameters<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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</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>
<p>Overrides <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/59a7c51/src/util/handlers/AsyncHandler.ts#L13">src/util/handlers/AsyncHandler.ts:13</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L41">src/authorization/WebAclAuthorizer.ts:41</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&#39;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 could potentially be handled.</p>
</div>
<h5>__namedParameters: <a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A promise resolving if the input can be handled, rejecting with an Error if not.</p>
</li>
</ul>
</section>
@@ -248,7 +241,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/59a7c51/src/authorization/WebAclAuthorizer.ts#L98">src/authorization/WebAclAuthorizer.ts:98</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L144">src/authorization/WebAclAuthorizer.ts:144</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -274,18 +267,18 @@
<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">&lt;</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">&gt;</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>
<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>, authorization<span class="tsd-signature-symbol">: </span><a href="authorization_webaclauthorization.webaclauthorization.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorization</a>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;read&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;append&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;write&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;control&quot;</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/59a7c51/src/authorization/WebAclAuthorizer.ts#L68">src/authorization/WebAclAuthorizer.ts:68</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L104">src/authorization/WebAclAuthorizer.ts:104</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.
<p>Checks if the authorization grants 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>
@@ -299,15 +292,15 @@
</div>
</li>
<li>
<h5>store: <span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol">&lt;</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">&gt;</span></h5>
<h5>authorization: <a href="authorization_webaclauthorization.webaclauthorization.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorization</a></h5>
<div class="tsd-comment tsd-typography">
<p>A store containing the relevant triples for authorization.</p>
<p>An Authorization containing the permissions the agent has on the resource.</p>
</div>
</li>
<li>
<h5>mode: <span class="tsd-signature-type">string</span></h5>
<h5>mode: <span class="tsd-signature-type">&quot;read&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;append&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;write&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;control&quot;</span></h5>
<div class="tsd-comment tsd-typography">
<p>Which mode is requested. Probable one of (&#39;write&#39; | &#39;read&#39; | &#39;append&#39; | &#39;control&#39;).</p>
<p>Which mode is requested.</p>
</div>
</li>
</ul>
@@ -315,6 +308,80 @@
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a name="createauthorization" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> create<wbr>Authorization</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">create<wbr>Authorization<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">&lt;</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">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="authorization_webaclauthorization.webaclauthorization.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorization</a></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/12ace1b/src/authorization/WebAclAuthorizer.ts#L71">src/authorization/WebAclAuthorizer.ts:71</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Creates an Authorization object based on the quads found in the store.</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 who&#39;s credentials will be used for the <code>user</code> field.</p>
</div>
</li>
<li>
<h5>store: <span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol">&lt;</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">&gt;</span></h5>
<div class="tsd-comment tsd-typography">
<p>Store containing all relevant authorization triples.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="authorization_webaclauthorization.webaclauthorization.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorization</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a name="createpermissions" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> create<wbr>Permissions</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">create<wbr>Permissions<span class="tsd-signature-symbol">(</span>credentials<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">&lt;</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">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_permissions_permissionset.permissionset.html" class="tsd-signature-type" data-tsd-kind="Interface">PermissionSet</a></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/12ace1b/src/authorization/WebAclAuthorizer.ts#L83">src/authorization/WebAclAuthorizer.ts:83</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Creates the authorization permissions for the given credentials.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>credentials: <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 to find the permissions for.</p>
</div>
</li>
<li>
<h5>store: <span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol">&lt;</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">&gt;</span></h5>
<div class="tsd-comment tsd-typography">
<p>Store containing all relevant authorization triples.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/ldp_permissions_permissionset.permissionset.html" class="tsd-signature-type" data-tsd-kind="Interface">PermissionSet</a></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>
@@ -325,7 +392,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/59a7c51/src/authorization/WebAclAuthorizer.ts#L184">src/authorization/WebAclAuthorizer.ts:184</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L229">src/authorization/WebAclAuthorizer.ts:229</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -373,14 +440,14 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/59a7c51/src/authorization/WebAclAuthorizer.ts#L141">src/authorization/WebAclAuthorizer.ts:141</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L187">src/authorization/WebAclAuthorizer.ts:187</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>
Rethrows any non-NotFoundHttpErrors thrown by the ResourceStore.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -413,7 +480,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/59a7c51/src/authorization/WebAclAuthorizer.ts#L107">src/authorization/WebAclAuthorizer.ts:107</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L153">src/authorization/WebAclAuthorizer.ts:153</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -444,14 +511,14 @@
<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>__namedParameters<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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
<li class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">(</span>__namedParameters<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">&lt;</span><a href="authorization_webaclauthorization.webaclauthorization.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorization</a><span class="tsd-signature-symbol">&gt;</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/59a7c51/src/authorization/WebAclAuthorizer.ts#L43">src/authorization/WebAclAuthorizer.ts:43</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L52">src/authorization/WebAclAuthorizer.ts:52</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -466,7 +533,7 @@
<h5>__namedParameters: <a href="../interfaces/authorization_authorizer.authorizerargs.html" class="tsd-signature-type" data-tsd-kind="Interface">AuthorizerArgs</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="authorization_webaclauthorization.webaclauthorization.html" class="tsd-signature-type" data-tsd-kind="Class">WebAclAuthorization</a><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
@@ -474,14 +541,14 @@
<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>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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
<li class="tsd-signature tsd-kind-icon">handle<wbr>Safe<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">&lt;</span><a href="../interfaces/authorization_authorization.authorization.html" class="tsd-signature-type" data-tsd-kind="Interface">Authorization</a><span class="tsd-signature-symbol">&gt;</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/59a7c51/src/util/handlers/AsyncHandler.ts#L35">src/util/handlers/AsyncHandler.ts:35</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/util/handlers/AsyncHandler.ts#L35">src/util/handlers/AsyncHandler.ts:35</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -500,7 +567,7 @@
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/authorization_authorization.authorization.html" class="tsd-signature-type" data-tsd-kind="Interface">Authorization</a><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A promise resolving if the input can be handled, rejecting with an Error if not.
Return value depends on the given type.</p>
</li>
@@ -516,7 +583,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/59a7c51/src/authorization/WebAclAuthorizer.ts#L119">src/authorization/WebAclAuthorizer.ts:119</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/12ace1b/src/authorization/WebAclAuthorizer.ts#L165">src/authorization/WebAclAuthorizer.ts:165</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -550,6 +617,49 @@
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a name="haspermission" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> has<wbr>Permission</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">has<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">&lt;</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">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;read&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;append&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;write&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;control&quot;</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/12ace1b/src/authorization/WebAclAuthorizer.ts#L126">src/authorization/WebAclAuthorizer.ts:126</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Checks if the given agent has permission to execute the given mode based on the triples in the store.</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">&lt;</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">&gt;</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">&quot;read&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;append&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;write&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;control&quot;</span></h5>
<div class="tsd-comment tsd-typography">
<p>Which mode is requested.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
@@ -574,7 +684,7 @@
<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>
<a href="authorization_webaclauthorizer.webaclauthorizer.html#aclstrategy" class="tsd-kind-icon">acl<wbr>Strategy</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>
@@ -585,7 +695,7 @@
<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">
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
<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">
@@ -594,6 +704,12 @@
<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#createauthorization" class="tsd-kind-icon">create<wbr>Authorization</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a href="authorization_webaclauthorizer.webaclauthorizer.html#createpermissions" class="tsd-kind-icon">create<wbr>Permissions</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>
@@ -612,6 +728,9 @@
<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>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a href="authorization_webaclauthorizer.webaclauthorizer.html#haspermission" class="tsd-kind-icon">has<wbr>Permission</a>
</li>
</ul>
</li>
</ul>