2021-06-12 22:04:51 +01:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< title > Documentation< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< base href = "../" >
< link rel = "icon" href = "images/favicon.ico" / >
< link rel = "stylesheet" href = "css/normalize.css" >
< link rel = "stylesheet" href = "css/base.css" >
< link href = "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap" rel = "stylesheet" >
< link rel = "stylesheet" href = "css/template.css" >
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.min.css" integrity = "sha256-ybRkN9dBjhcS2qrW1z+hfCxq+1aBdwyQM5wlQoQVt/0=" crossorigin = "anonymous" / >
< script src = "https://cdn.jsdelivr.net/npm/fuse.js@3.4.6" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2" > < / script >
< script src = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/js/all.min.js" integrity = "sha256-0vuk8LXoyrmCjp1f0O300qo1M75ZQyhH9X3J6d+scmk=" crossorigin = "anonymous" > < / script >
< script src = "js/search.js" > < / script >
< script defer src = "js/searchIndex.js" > < / script >
< / head >
< body id = "top" >
< header class = "phpdocumentor-header phpdocumentor-section" >
< h1 class = "phpdocumentor-title" > < a href = "" class = "phpdocumentor-title__link" > Documentation< / a > < / h1 >
< input class = "phpdocumentor-header__menu-button" type = "checkbox" id = "menu-button" name = "menu-button" / >
< label class = "phpdocumentor-header__menu-icon" for = "menu-button" >
< i class = "fas fa-bars" > < / i >
< / label >
< section data-search-form class = "phpdocumentor-search" >
< label >
< span class = "visually-hidden" > Search for< / span >
< svg class = "phpdocumentor-search__icon" width = "21" height = "20" viewBox = "0 0 21 20" fill = "none" xmlns = "http://www.w3.org/2000/svg" >
< circle cx = "7.5" cy = "7.5" r = "6.5" stroke = "currentColor" stroke-width = "2" / >
< line x1 = "12.4892" y1 = "12.2727" x2 = "19.1559" y2 = "18.9393" stroke = "currentColor" stroke-width = "3" / >
< / svg >
< input type = "search" class = "phpdocumentor-field phpdocumentor-search__field" placeholder = "Loading .." disabled / >
< / label >
< / section >
< nav class = "phpdocumentor-topnav" >
< ul class = "phpdocumentor-topnav__menu" >
< / ul >
< / nav >
< / header >
< main class = "phpdocumentor" >
< div class = "phpdocumentor-section" >
< input class = "phpdocumentor-sidebar__menu-button" type = "checkbox" id = "sidebar-button" name = "sidebar-button" / >
< label class = "phpdocumentor-sidebar__menu-icon" for = "sidebar-button" >
Menu
< / label >
< aside class = "phpdocumentor-column -four phpdocumentor-sidebar" >
< section class = "phpdocumentor-sidebar__category" >
< h2 class = "phpdocumentor-sidebar__category-header" > Namespaces< / h2 >
< h4 class = "phpdocumentor-sidebar__root-namespace" > < a href = "namespaces/taproot.html" > < abbr title = "\Taproot" > Taproot< / abbr > < / a > < / h4 >
< ul class = "phpdocumentor-list" >
< li > < a href = "namespaces/taproot-indieauth.html" > < abbr title = "\Taproot\IndieAuth" > IndieAuth< / abbr > < / a > < / li >
< / ul >
< / section >
< section class = "phpdocumentor-sidebar__category" >
< h2 class = "phpdocumentor-sidebar__category-header" > Reports< / h2 >
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "reports/deprecated.html" > Deprecated< / a > < / h3 >
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "reports/errors.html" > Errors< / a > < / h3 >
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "reports/markers.html" > Markers< / a > < / h3 >
< / section >
< section class = "phpdocumentor-sidebar__category" >
< h2 class = "phpdocumentor-sidebar__category-header" > Indices< / h2 >
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "indices/files.html" > Files< / a > < / h3 >
< / section >
< / aside >
< div class = "phpdocumentor-column -eight phpdocumentor-content" >
< ul class = "phpdocumentor-breadcrumbs" >
< li class = "phpdocumentor-breadcrumb" > < a href = "namespaces/taproot.html" > Taproot< / a > < / li >
< li class = "phpdocumentor-breadcrumb" > < a href = "namespaces/taproot-indieauth.html" > IndieAuth< / a > < / li >
< li class = "phpdocumentor-breadcrumb" > < a href = "namespaces/taproot-indieauth-storage.html" > Storage< / a > < / li >
< / ul >
< article class = "phpdocumentor-element -class" >
< h2 class = "phpdocumentor-content__title" >
FilesystemJsonStorage
< span class = "phpdocumentor-element__implements" >
implements
< a href = "classes/Taproot-IndieAuth-Storage-TokenStorageInterface.html" > < abbr title = "\Taproot\IndieAuth\Storage\TokenStorageInterface" > TokenStorageInterface< / abbr > < / a > , < abbr title = "\Psr\Log\LoggerAwareInterface" > LoggerAwareInterface< / abbr > < / span >
< / h2 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 26< / span >
2021-06-12 22:04:51 +01:00
< / aside >
2021-06-12 23:01:32 +01:00
< p class = "phpdocumentor-summary" > Filesystem JSON Token Storage< / p >
< section class = "phpdocumentor-description" > < p > An implementation of < code class = "prettyprint" > TokenStorageInterface< / code > which stores authorization codes
and access tokens in the filesystem as JSON files, and supports custom access
token lifetimes.< / p >
< p > This is intended as a default, example implementation with minimal requirements.
In practise, most people should probably be using an SQLite3 version of this
which I haven’ t written yet. I haven’ t extensively documented this class, as it
will likely be superceded by the SQLite version.< / p >
< / section >
2021-06-12 22:04:51 +01:00
< h3 id = "interfaces_class_traits" >
Interfaces, Classes and Traits
< a href = "#interfaces_class_traits" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h3 >
< dl class = "phpdocumentor-table-of-contents" >
< dt class = "phpdocumentor-table-of-contents__entry -interface" > < a href = "classes/Taproot-IndieAuth-Storage-TokenStorageInterface.html" > < abbr title = "\Taproot\IndieAuth\Storage\TokenStorageInterface" > TokenStorageInterface< / abbr > < / a > < / dt >
< dd > Token Storage Interface< / dd >
< dt class = "phpdocumentor-table-of-contents__entry -interface" > < abbr title = "\Psr\Log\LoggerAwareInterface" > LoggerAwareInterface< / abbr > < / dt >
< dd > < / dd >
< / dl >
< h3 id = "toc" >
Table of Contents
< a href = "#toc" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h3 >
< dl class = "phpdocumentor-table-of-contents" >
< dt class = "phpdocumentor-table-of-contents__entry -constant -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#constant_DEFAULT_ACCESS_TOKEN_TTL" > DEFAULT_ACCESS_TOKEN_TTL< / a >
< span >
= 60 * 60 * 24 * 7 < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -constant -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#constant_DEFAULT_AUTH_CODE_TTL" > DEFAULT_AUTH_CODE_TTL< / a >
< span >
= 60 * 5 < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -constant -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#constant_TOKEN_LENGTH" > TOKEN_LENGTH< / a >
< span >
= 64 < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -property -protected" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_accessTokenTtl" > $accessTokenTtl< / a >
< span >
: int < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -property -protected" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_authCodeTtl" > $authCodeTtl< / a >
< span >
: int < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -property -protected" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_logger" > $logger< / a >
< span >
: < abbr title = "\Psr\Log\LoggerInterface" > LoggerInterface< / abbr > < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -property -protected" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_path" > $path< / a >
< span >
: string < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -property -protected" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_secret" > $secret< / a >
< span >
: string < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method___construct" > __construct()< / a >
< span >
: mixed < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_createAuthCode" > createAuthCode()< / a >
< span >
2021-06-13 13:34:37 +01:00
: string|null < / span >
2021-06-12 22:04:51 +01:00
< / dt >
2021-06-13 14:35:36 +01:00
< dd > Create Authorization Code< / dd >
2021-06-12 22:04:51 +01:00
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_delete" > delete()< / a >
< span >
: bool < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_deleteExpiredTokens" > deleteExpiredTokens()< / a >
< span >
: int < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_exchangeAuthCodeForAccessToken" > exchangeAuthCodeForAccessToken()< / a >
< span >
2021-06-13 13:34:37 +01:00
: array< string|int, mixed> |null < / span >
2021-06-12 22:04:51 +01:00
< / dt >
< dd > Exchange Authorization Code for Access Token< / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_get" > get()< / a >
< span >
: array< string|int, mixed> |null < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_getAccessToken" > getAccessToken()< / a >
< span >
2021-06-13 13:34:37 +01:00
: array< string|int, mixed> |null < / span >
2021-06-12 22:04:51 +01:00
< / dt >
< dd > Get Access Token< / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_getPath" > getPath()< / a >
< span >
: string < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_put" > put()< / a >
< span >
: bool < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_revokeAccessToken" > revokeAccessToken()< / a >
< span >
: bool < / span >
< / dt >
< dd > Revoke Access Token< / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_setLogger" > setLogger()< / a >
< span >
: mixed < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -protected" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_hash" > hash()< / a >
< span >
: string < / span >
< / dt >
< dd > < / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -protected" >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_withLock" > withLock()< / a >
< span >
: mixed < / span >
< / dt >
< dd > < / dd >
< / dl >
< section class = "phpdocumentor-constants" >
< h3 class = "phpdocumentor-elements__header" id = "constants" >
Constants
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#constants" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h3 >
< article class = "phpdocumentor-element -constant -public " >
< h4 class = "phpdocumentor-element__name" id = "constant_DEFAULT_ACCESS_TOKEN_TTL" >
DEFAULT_ACCESS_TOKEN_TTL
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#constant_DEFAULT_ACCESS_TOKEN_TTL" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 28< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-signature phpdocumentor-code " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__type" > mixed< / span >
< span class = "phpdocumentor-signature__name" > DEFAULT_ACCESS_TOKEN_TTL< / span >
= < span class = "phpdocumentor-signature__default-value" > 60 * 60 * 24 * 7< / span >
< / code >
< / article >
< article class = "phpdocumentor-element -constant -public " >
< h4 class = "phpdocumentor-element__name" id = "constant_DEFAULT_AUTH_CODE_TTL" >
DEFAULT_AUTH_CODE_TTL
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#constant_DEFAULT_AUTH_CODE_TTL" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 27< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-signature phpdocumentor-code " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__type" > mixed< / span >
< span class = "phpdocumentor-signature__name" > DEFAULT_AUTH_CODE_TTL< / span >
= < span class = "phpdocumentor-signature__default-value" > 60 * 5< / span >
< / code >
< / article >
< article class = "phpdocumentor-element -constant -public " >
< h4 class = "phpdocumentor-element__name" id = "constant_TOKEN_LENGTH" >
TOKEN_LENGTH
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#constant_TOKEN_LENGTH" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 30< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-signature phpdocumentor-code " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__type" > mixed< / span >
< span class = "phpdocumentor-signature__name" > TOKEN_LENGTH< / span >
= < span class = "phpdocumentor-signature__default-value" > 64< / span >
< / code >
< / article >
< / section >
< section class = "phpdocumentor-properties" >
< h3 class = "phpdocumentor-elements__header" id = "properties" >
Properties
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#properties" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h3 >
< article
class="
phpdocumentor-element
-property
-protected
"
>
< h4 class = "phpdocumentor-element__name" id = "property_accessTokenTtl" >
$accessTokenTtl
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_accessTokenTtl" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< span class = "phpdocumentor-element__modifiers" >
< / span >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 34< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > protected< / span >
< span class = "phpdocumentor-signature__type" > int< / span >
< span class = "phpdocumentor-signature__name" > $accessTokenTtl< / span >
< / code >
< / article >
< article
class="
phpdocumentor-element
-property
-protected
"
>
< h4 class = "phpdocumentor-element__name" id = "property_authCodeTtl" >
$authCodeTtl
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_authCodeTtl" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< span class = "phpdocumentor-element__modifiers" >
< / span >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 33< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > protected< / span >
< span class = "phpdocumentor-signature__type" > int< / span >
< span class = "phpdocumentor-signature__name" > $authCodeTtl< / span >
< / code >
< / article >
< article
class="
phpdocumentor-element
-property
-protected
"
>
< h4 class = "phpdocumentor-element__name" id = "property_logger" >
$logger
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_logger" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< span class = "phpdocumentor-element__modifiers" >
< / span >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 37< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > protected< / span >
< span class = "phpdocumentor-signature__type" > < abbr title = "\Psr\Log\LoggerInterface" > LoggerInterface< / abbr > < / span >
< span class = "phpdocumentor-signature__name" > $logger< / span >
< / code >
< / article >
< article
class="
phpdocumentor-element
-property
-protected
"
>
< h4 class = "phpdocumentor-element__name" id = "property_path" >
$path
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_path" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< span class = "phpdocumentor-element__modifiers" >
< / span >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 32< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > protected< / span >
< span class = "phpdocumentor-signature__type" > string< / span >
< span class = "phpdocumentor-signature__name" > $path< / span >
< / code >
< / article >
< article
class="
phpdocumentor-element
-property
-protected
"
>
< h4 class = "phpdocumentor-element__name" id = "property_secret" >
$secret
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#property_secret" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< span class = "phpdocumentor-element__modifiers" >
< / span >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 35< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > protected< / span >
< span class = "phpdocumentor-signature__type" > string< / span >
< span class = "phpdocumentor-signature__name" > $secret< / span >
< / code >
< / article >
< / section >
< section class = "phpdocumentor-methods" >
< h3 class = "phpdocumentor-elements__header" id = "methods" >
Methods
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#methods" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h3 >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method___construct" >
__construct()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method___construct" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 40< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > __construct< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $path< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $secret< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > [< / span > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > int|null < / span > < span class = "phpdocumentor-signature__argument__name" > $authCodeTtl< / span > < span > = < / span > < span class = "phpdocumentor-signature__argument__default-value" > null< / span > < span > ]< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > [< / span > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > int|null < / span > < span class = "phpdocumentor-signature__argument__name" > $accessTokenTtl< / span > < span > = < / span > < span class = "phpdocumentor-signature__argument__default-value" > null< / span > < span > ]< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > [< / span > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > mixed < / span > < span class = "phpdocumentor-signature__argument__name" > $cleanUpNow< / span > < span > = < / span > < span class = "phpdocumentor-signature__argument__default-value" > false< / span > < span > ]< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > [< / span > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > < abbr title = "\Psr\Log\LoggerInterface" > LoggerInterface< / abbr > |null < / span > < span class = "phpdocumentor-signature__argument__name" > $logger< / span > < span > = < / span > < span class = "phpdocumentor-signature__argument__default-value" > null< / span > < span > ]< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > mixed< / span > < / code >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $path< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $secret< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $authCodeTtl< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > int|null< / span >
= < span class = "phpdocumentor-signature__argument__default-value" > null< / span > < / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $accessTokenTtl< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > int|null< / span >
= < span class = "phpdocumentor-signature__argument__default-value" > null< / span > < / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $cleanUpNow< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > mixed< / span >
= < span class = "phpdocumentor-signature__argument__default-value" > false< / span > < / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $logger< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > < abbr title = "\Psr\Log\LoggerInterface" > LoggerInterface< / abbr > |null< / span >
= < span class = "phpdocumentor-signature__argument__default-value" > null< / span > < / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > mixed< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_createAuthCode" >
createAuthCode()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_createAuthCode" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 68< / span >
2021-06-12 22:04:51 +01:00
< / aside >
2021-06-13 14:35:36 +01:00
< p class = "phpdocumentor-summary" > Create Authorization Code< / p >
2021-06-12 22:04:51 +01:00
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-signature__name" > createAuthCode< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > array< string|int, mixed> < / span > < span class = "phpdocumentor-signature__argument__name" > $data< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > string|null< / span > < / code >
2021-06-12 22:04:51 +01:00
< section class = "phpdocumentor-description" > < p > This method is called on a valid authorization token request. The < code class = "prettyprint" > $data< / code >
array is guaranteed to have the following keys:< / p >
< ul >
< li >
< code class = "prettyprint" > client_id< / code > : the validated < code class = "prettyprint" > client_id< / code > request parameter< / li >
< li >
< code class = "prettyprint" > redirect_uri< / code > : the validated < code class = "prettyprint" > redirect_uri< / code > request parameter< / li >
< li >
< code class = "prettyprint" > state< / code > : the < code class = "prettyprint" > state< / code > request parameter< / li >
< li >
< code class = "prettyprint" > code_challenge< / code > : the < code class = "prettyprint" > code_challenge< / code > request parameter< / li >
< li >
< code class = "prettyprint" > code_challenge_method< / code > : the < code class = "prettyprint" > code_challenge_method< / code > request parameter< / li >
< li >
< code class = "prettyprint" > requested_scope< / code > : the value of the < code class = "prettyprint" > scope< / code > request parameter< / li >
< li >
< code class = "prettyprint" > me< / code > : the value of the < code class = "prettyprint" > me< / code > key from the authentication result returned from the authentication request handler callback< / li >
< / ul >
< p > It may also have additional keys, which can come from the following locations:< / p >
< ul >
< li > All keys from the the authentication request handler callback result which do not clash
with the keys listed above (with the exception of < code class = "prettyprint" > me< / code > , which is always present). Usually
this is a < code class = "prettyprint" > profile< / code > key, but you may choose to return additional data from the authentication
callback, which will be present in < code class = "prettyprint" > $data< / code > .< / li >
< li > Any keys added by the < code class = "prettyprint" > transformAuthorizationCode< / code > method on the currently active instance
of < code class = "prettyprint" > Taproot\IndieAuth\Callback\AuthorizationFormInterface< / code > . Typically this is the < code class = "prettyprint" > scope< / code >
key, which is a valid space-separated scope string listing the scopes granted by the user on
the consent screen. Other implementations of < code class = "prettyprint" > AuthorizationFormInterface< / code > may add additional
data, such as custom token-specific settings, or a custom token lifetime.< / li >
< / ul >
2021-06-13 13:34:37 +01:00
< p > This method should store the data passed to it, generate a corresponding authorization code
string, and return it.< / p >
2021-06-12 22:04:51 +01:00
< p > The method call and data is structured such that implementations have a lot of flexibility
about how to store authorization code data. It could be a record in an auth code database
table, a record in a table which is used for both auth codes and access tokens, or even
a stateless self-encrypted token — note that in the latter case, you must persist a copy
of the auth code with its exchanged access token to check against, in order to prevent it
being exchanged more than once.< / p >
< p > On an error, return null. The reason for the error is irrelevant for calling code, but it’ s
recommended to log it internally for reference. For the same reason, this method should not
throw exceptions.< / p >
< / section >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $data< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > array< string|int, mixed> < / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-signature__response_type" > string|null< / span >
2021-06-12 22:04:51 +01:00
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_delete" >
delete()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_delete" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 228< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-signature__name" > delete< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $key< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > [< / span > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > mixed < / span > < span class = "phpdocumentor-signature__argument__name" > $observeLock< / span > < span > = < / span > < span class = "phpdocumentor-signature__argument__default-value" > true< / span > < span > ]< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > bool< / span > < / code >
2021-06-12 22:04:51 +01:00
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $key< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
2021-06-13 13:34:37 +01:00
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $observeLock< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > mixed< / span >
= < span class = "phpdocumentor-signature__argument__default-value" > true< / span > < / dt >
< dd class = "phpdocumentor-argument-list__definition" >
2021-06-12 22:04:51 +01:00
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > bool< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_deleteExpiredTokens" >
deleteExpiredTokens()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_deleteExpiredTokens" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 169< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > deleteExpiredTokens< / span > < span > (< / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > int< / span > < / code >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > int< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_exchangeAuthCodeForAccessToken" >
exchangeAuthCodeForAccessToken()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_exchangeAuthCodeForAccessToken" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 82< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< p class = "phpdocumentor-summary" > Exchange Authorization Code for Access Token< / p >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-signature__name" > exchangeAuthCodeForAccessToken< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $code< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > callable < / span > < span class = "phpdocumentor-signature__argument__name" > $validateAuthCode< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > array< string|int, mixed> |null< / span > < / code >
2021-06-12 22:04:51 +01:00
< section class = "phpdocumentor-description" > < p > Attempt to exchange an authorization code identified by < code class = "prettyprint" > $code< / code > for
2021-06-13 13:34:37 +01:00
an access token. Return an array of access token data to be passed onto
the client app on success, and null on error.< / p >
2021-06-12 22:04:51 +01:00
< p > This method is called at the beginning of a code exchange request, before
2021-06-13 13:34:37 +01:00
further error checking or validation is applied. It should proceed as
follows.< / p >
< ul >
< li > Attempt to fetch the authorization code data identified by $code. If
it does not exist or has expired, return null;< / li >
< li > Pass the authorization code data array to $validateAuthCode for validation.
If there is a problem with the code, a < code class = "prettyprint" > Taproot\IndieAuth\IndieAuthException< / code >
will be thrown. This method should catch it, invalidate the authorization
code data, then re-throw the exception for handling by Server.< / li >
< li > If the authorization code data passed all checks, convert it into an access
token, invalidate the auth code to prevent re-use, and store the access token
data internally.< / li >
< li > Return an array of access token data to be passed onto the client app. It MUST
contain the following keys:
< ul >
< li >
< code class = "prettyprint" > me< / code >
< / li >
< li >
< code class = "prettyprint" > access_token< / code >
Additonally, it SHOULD contain the following keys:< / li >
< li >
< code class = "prettyprint" > scope< / code > , if the token grants any scope
And MAY contain additional keys, such as:< / li >
< li >
< code class = "prettyprint" > profile< / code >
< / li >
< li >
< code class = "prettyprint" > expires_at< / code >
< / li >
< / ul >
< / li >
< / ul >
< p > If the authorization code was redeemed at the authorization endpoint, Server will
only pass the < code class = "prettyprint" > me< / code > and < code class = "prettyprint" > profile< / code > keys onto the client. In both cases, it will filter
out < code class = "prettyprint" > code_challenge< / code > keys to prevent that data from accidentally being leaked to
2021-06-13 13:40:53 +01:00
clients. If an access token is present, the server will add < code class = "prettyprint" > token_type: Bearer< / code >
automatically.< / p >
< p > A typical implementation might look like this:< / p >
< pre class = "prettyprint" > < code class = "language-php" > function exchangeAuthCodeForAccessToken(string $code, callable $validateAuthCode): ?array {
if (is_null($authCodeData = $this-> fetchAuthCode($code))) {
return null;
}
if (isExpired($authCodeData)) {
return null;
}
try {
$validateAuthCode($authCodeData);
} catch (IndieAuthException $e) {
$this-> deleteAuthCode($code);
throw $e;
}
return $this-> newTokenFromAuthCodeData($authCodeData);
}
< / code > < / pre >
< p > Refer to reference implementations in the < code class = "prettyprint" > Taproot\IndieAuth\Storage< / code > namespace for
reference.< / p >
2021-06-12 22:04:51 +01:00
< / section >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $code< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
2021-06-13 13:34:37 +01:00
< section class = "phpdocumentor-description" > < p > The Authorization Code to attempt to exchange.< / p >
< / section >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $validateAuthCode< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > callable< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< section class = "phpdocumentor-description" > < p > A callable to perform additional validation if valid auth code data is found. Takes < code class = "prettyprint" > array $authCodeData< / code > , raises < code class = "prettyprint" > Taproot\IndieAuth\IndieAuthException< / code > on invalid data, which should be bubbled up to the caller after any clean-up. Returns void.< / p >
< / section >
2021-06-12 22:04:51 +01:00
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-signature__response_type" > array< string|int, mixed> |null< / span >
2021-06-12 22:04:51 +01:00
—
2021-06-13 13:34:37 +01:00
< section class = "phpdocumentor-description" > < p > An array of access token data to return to the client on success, null on any error.< / p >
< / section >
2021-06-12 22:04:51 +01:00
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_get" >
get()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_get" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 197< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > get< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $key< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > array< string|int, mixed> |null< / span > < / code >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $key< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > array< string|int, mixed> |null< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_getAccessToken" >
getAccessToken()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_getAccessToken" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 147< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< p class = "phpdocumentor-summary" > Get Access Token< / p >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-signature__name" > getAccessToken< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $token< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > array< string|int, mixed> |null< / span > < / code >
2021-06-12 22:04:51 +01:00
< section class = "phpdocumentor-description" > < p > Fetch access token data identified by the token < code class = "prettyprint" > $token< / code > , returning
2021-06-13 13:34:37 +01:00
null if it is expired or invalid.< / p >
2021-06-12 22:04:51 +01:00
< / section >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $token< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-signature__response_type" > array< string|int, mixed> |null< / span >
2021-06-12 22:04:51 +01:00
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_getPath" >
getPath()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_getPath" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 242< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > getPath< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $key< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > string< / span > < / code >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $key< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > string< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_put" >
put()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_put" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 219< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > put< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $key< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > array< string|int, mixed> < / span > < span class = "phpdocumentor-signature__argument__name" > $data< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > bool< / span > < / code >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $key< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $data< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > array< string|int, mixed> < / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > bool< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_revokeAccessToken" >
revokeAccessToken()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_revokeAccessToken" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 163< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< p class = "phpdocumentor-summary" > Revoke Access Token< / p >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > revokeAccessToken< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $token< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > bool< / span > < / code >
< section class = "phpdocumentor-description" > < p > Revoke the access token identified by < code class = "prettyprint" > $token< / code > . Return true on success,
or false on error, including if the token did not exist.< / p >
< / section >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $token< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > bool< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method_setLogger" >
setLogger()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_setLogger" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 62< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > setLogger< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > < abbr title = "\Psr\Log\LoggerInterface" > LoggerInterface< / abbr > < / span > < span class = "phpdocumentor-signature__argument__name" > $logger< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > mixed< / span > < / code >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $logger< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > < abbr title = "\Psr\Log\LoggerInterface" > LoggerInterface< / abbr > < / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > mixed< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-protected
"
>
< h4 class = "phpdocumentor-element__name" id = "method_hash" >
hash()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_hash" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 271< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > protected< / span >
< span class = "phpdocumentor-signature__name" > hash< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $token< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > string< / span > < / code >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $token< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > string< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< article
class="phpdocumentor-element
-method
-protected
"
>
< h4 class = "phpdocumentor-element__name" id = "method_withLock" >
withLock()
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#method_withLock" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Storage/FilesystemJsonStorage.php" > < a href = "files/src-storage-filesystemjsonstorage.html" > < abbr title = "src/Storage/FilesystemJsonStorage.php" > FilesystemJsonStorage.php< / abbr > < / a > < / abbr >
:
2021-06-13 13:34:37 +01:00
< span class = "phpdocumentor-element-found-in__line" > 247< / span >
2021-06-12 22:04:51 +01:00
< / aside >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > protected< / span >
< span class = "phpdocumentor-signature__name" > withLock< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $path< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $mode< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > callable < / span > < span class = "phpdocumentor-signature__argument__name" > $callback< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > mixed< / span > < / code >
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $path< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $mode< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $callback< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > callable< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< / dd >
< / dl >
< h5 class = "phpdocumentor-return-value__heading" > Return values< / h5 >
< span class = "phpdocumentor-signature__response_type" > mixed< / span >
—
< section class = "phpdocumentor-description" > < / section >
< / article >
< / section >
< / article >
< section data-search-results class = "phpdocumentor-search-results phpdocumentor-search-results--hidden" >
< section class = "phpdocumentor-search-results__dialog" >
< header class = "phpdocumentor-search-results__header" >
< h2 class = "phpdocumentor-search-results__title" > Search results< / h2 >
< button class = "phpdocumentor-search-results__close" > < i class = "fas fa-times" > < / i > < / button >
< / header >
< section class = "phpdocumentor-search-results__body" >
< ul class = "phpdocumentor-search-results__entries" > < / ul >
< / section >
< / section >
< / section >
< / div >
< / div >
< a href = "classes/Taproot-IndieAuth-Storage-FilesystemJsonStorage.html#top" class = "phpdocumentor-back-to-top" > < i class = "fas fa-chevron-circle-up" > < / i > < / a >
< / main >
< script >
cssVars({});
< / script >
< / body >
< / html >