PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / php-http / message / src / Authentication / AutoBasicAuth.php
ameliabooking / vendor / php-http / message / src / Authentication Last commit date
AutoBasicAuth.php 6 months ago BasicAuth.php 6 months ago Bearer.php 6 months ago Chain.php 6 months ago Matching.php 6 months ago QueryParam.php 6 months ago RequestConditional.php 6 months ago Wsse.php 6 months ago
AutoBasicAuth.php
49 lines
1 <?php
2
3 namespace AmeliaHttp\Message\Authentication;
4
5 use AmeliaHttp\Message\Authentication;
6 use AmeliaVendor\Psr\Http\Message\RequestInterface;
7
8 /**
9 * Authenticate a PSR-7 Request using Basic Auth based on credentials in the URI.
10 *
11 * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
12 */
13 final class AutoBasicAuth implements Authentication
14 {
15 /**
16 * Whether user info should be removed from the URI.
17 *
18 * @var bool
19 */
20 private $shouldRemoveUserInfo;
21
22 /**
23 * @param bool|true $shouldRremoveUserInfo
24 */
25 public function __construct($shouldRremoveUserInfo = true)
26 {
27 $this->shouldRemoveUserInfo = (bool) $shouldRremoveUserInfo;
28 }
29
30 /**
31 * {@inheritdoc}
32 */
33 public function authenticate(RequestInterface $request)
34 {
35 $uri = $request->getUri();
36 $userInfo = $uri->getUserInfo();
37
38 if (!empty($userInfo)) {
39 if ($this->shouldRemoveUserInfo) {
40 $request = $request->withUri($uri->withUserInfo(''));
41 }
42
43 $request = $request->withHeader('Authorization', sprintf('Basic %s', base64_encode($userInfo)));
44 }
45
46 return $request;
47 }
48 }
49