Mercurial > hg > isophonics-drupal-site
annotate core/modules/rest/tests/src/Functional/BasicAuthResourceTestTrait.php @ 12:7a779792577d
Update Drupal core to v8.4.5 (via Composer)
author | Chris Cannam |
---|---|
date | Fri, 23 Feb 2018 15:52:07 +0000 |
parents | 4c8ae668cc8c |
children | 1fec387a4317 |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\Tests\rest\Functional; |
Chris@0 | 4 |
Chris@0 | 5 use Drupal\Core\Url; |
Chris@0 | 6 use Psr\Http\Message\ResponseInterface; |
Chris@0 | 7 |
Chris@0 | 8 /** |
Chris@0 | 9 * Trait for ResourceTestBase subclasses testing $auth=basic_auth. |
Chris@0 | 10 * |
Chris@0 | 11 * Characteristics: |
Chris@0 | 12 * - Every request must send an Authorization header. |
Chris@0 | 13 * - When accessing a URI that requires authentication without being |
Chris@0 | 14 * authenticated, a 401 response must be sent. |
Chris@0 | 15 * - Because every request must send an authorization, there is no danger of |
Chris@0 | 16 * CSRF attacks. |
Chris@0 | 17 */ |
Chris@0 | 18 trait BasicAuthResourceTestTrait { |
Chris@0 | 19 |
Chris@0 | 20 /** |
Chris@0 | 21 * {@inheritdoc} |
Chris@0 | 22 */ |
Chris@0 | 23 protected function getAuthenticationRequestOptions($method) { |
Chris@0 | 24 return [ |
Chris@0 | 25 'headers' => [ |
Chris@0 | 26 'Authorization' => 'Basic ' . base64_encode($this->account->name->value . ':' . $this->account->passRaw), |
Chris@0 | 27 ], |
Chris@0 | 28 ]; |
Chris@0 | 29 } |
Chris@0 | 30 |
Chris@0 | 31 /** |
Chris@0 | 32 * {@inheritdoc} |
Chris@0 | 33 */ |
Chris@0 | 34 protected function assertResponseWhenMissingAuthentication(ResponseInterface $response) { |
Chris@0 | 35 $this->assertResourceErrorResponse(401, 'No authentication credentials provided.', $response); |
Chris@0 | 36 } |
Chris@0 | 37 |
Chris@0 | 38 /** |
Chris@0 | 39 * {@inheritdoc} |
Chris@0 | 40 */ |
Chris@12 | 41 protected function assertAuthenticationEdgeCases($method, Url $url, array $request_options) { |
Chris@12 | 42 } |
Chris@0 | 43 |
Chris@0 | 44 } |