BasicAuth
HTTP Basic authentication backend class.
- Full name:
\Zotlabs\Storage\BasicAuth
- Parent class:
\Sabre\DAV\Auth\Backend\AbstractBasic
See Also:
- http://github.com/friendica/red -
Properties
channel_name
channel_id
channel_account_id
channel_hash
observer
browser
See Also:
- \Zotlabs\Storage\Browser::set_writeable() -
owner_id
owner_nick
channel_name of the current visited path. Set in Directory::getDir().
Used for creating the path in cloud/
timezone
Timezone from the visiting channel's channel_timezone.
Used in @ref Browser
module_disabled
Methods
validateUserPass
Validates a username and password.
Parameters:
Parameter | Type | Description |
---|---|---|
$username |
string | |
$password |
string |
See Also:
-
- \Sabre\DAV\Auth\Backend\AbstractBasic::validateUserPass
setAuthenticated
Parameters:
Parameter | Type | Description |
---|---|---|
$channel |
mixed |
check
When this method is called, the backend must check if authentication was successful.
The returned value must be one of the following
[true, "principals/username"] [false, "reason for failure"]
If authentication was successful, it's expected that the authentication backend returns a so-called principal url.
Examples of a principal url:
principals/admin principals/user1 principals/users/joe principals/uid/123457
If you don't use WebDAV ACL (RFC3744) we recommend that you simply return a string such as:
principals/users/[username]
Parameters:
Parameter | Type | Description |
---|---|---|
$request |
\Sabre\HTTP\RequestInterface | |
$response |
\Sabre\HTTP\ResponseInterface |
check_module_access
Parameters:
Parameter | Type | Description |
---|---|---|
$channel_id |
mixed |
setCurrentUser
Sets the channel_name from the currently logged-in channel.
Parameters:
Parameter | Type | Description |
---|---|---|
$name |
string | The channel's name |
getCurrentUser
Returns information about the currently logged-in channel.
If nobody is currently logged in, this method should return null.
See Also:
-
- \Sabre\DAV\Auth\Backend\AbstractBasic::getCurrentUser
setTimezone
Parameters:
Parameter | Type | Description |
---|---|---|
$timezone |
string | The channel's timezone. |
getTimezone
Return Value:
Return the channel's timezone.
setBrowserPlugin
Parameters:
Parameter | Type | Description |
---|---|---|
$browser |
\Sabre\DAV\Browser\Plugin |
See Also:
- \Zotlabs\Storage\RedBrowser::set_writeable() -
log
Inherited methods
validateUserPass
Validates a username and password.
This method should return true or false depending on if login succeeded.
- This method is abstract.
Parameters:
Parameter | Type | Description |
---|---|---|
$username |
string | |
$password |
string |
setRealm
Sets the authentication realm for this backend.
Parameters:
Parameter | Type | Description |
---|---|---|
$realm |
string |
check
When this method is called, the backend must check if authentication was successful.
The returned value must be one of the following
[true, "principals/username"] [false, "reason for failure"]
If authentication was successful, it's expected that the authentication backend returns a so-called principal url.
Examples of a principal url:
principals/admin principals/user1 principals/users/joe principals/uid/123457
If you don't use WebDAV ACL (RFC3744) we recommend that you simply return a string such as:
principals/users/[username]
Parameters:
Parameter | Type | Description |
---|---|---|
$request |
\Sabre\HTTP\RequestInterface | |
$response |
\Sabre\HTTP\ResponseInterface |
challenge
This method is called when a user could not be authenticated, and authentication was required for the current request.
public challenge(\Sabre\HTTP\RequestInterface $request, \Sabre\HTTP\ResponseInterface $response): mixed
This gives you the opportunity to set authentication headers. The 401 status code will already be set.
In this case of Basic Auth, this would for example mean that the following header needs to be set:
$response->addHeader('WWW-Authenticate', 'Basic realm=SabreDAV');
Keep in mind that in the case of multiple authentication backends, other WWW-Authenticate headers may already have been set, and you'll want to append your own WWW-Authenticate header instead of overwriting the existing one.
Parameters:
Parameter | Type | Description |
---|---|---|
$request |
\Sabre\HTTP\RequestInterface | |
$response |
\Sabre\HTTP\ResponseInterface |
Automatically generated on 2025-03-18