Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix container requests with "tokens" in its name #396

Merged
merged 8 commits into from
Feb 1, 2024

Conversation

k0ka
Copy link
Member

@k0ka k0ka commented Jan 31, 2024

The AuthHandler didn't use authorization for POST requests which have tokens in uri. This was created to avoid infinite recursion when obtaining a token would require obtaining a token -

return false !== strpos((string) $request->getUri(), 'tokens') && 'POST' == $request->getMethod();
.

However this emerges another problem: if swift container name has tokens in it, the request uri would contain this term. So any POST request would be sent without token.

This PR removes that check and uses a separate key skipAuth in the Api classes to mark api requests which must skip token generation.

@k0ka k0ka merged commit c32ab23 into master Feb 1, 2024
21 checks passed
@k0ka k0ka deleted the fix-container-with-tokens branch February 1, 2024 14:36
giogurto-grande added a commit to VS-CDeX/openstack that referenced this pull request Jun 19, 2024
* GitHub workflows (php-opencloud#369)

Add integration workflows for services:
- BlockStorage
- Compute
- Images
- Networking

* always recheck all tests on push to master (php-opencloud#370)

* Restore read the docs (php-opencloud#371)

* add readthedocs.yaml
* remove button
* move to python 3

* Fix documentation (php-opencloud#372)

* fix php-opencloud#351

* fix documentation requirements, remove unused links in docs

* add badges, remove old contacts from README.md

* Fix documentation (php-opencloud#373)

* clarify versioning 
* change documentation copyright

* Fix sort_key and sort_dir parameters for BlockStorage/v2/listSnapshots and Images/v2/listImages

* fix list formating in documentation (php-opencloud#375)

remove custom theme

* added phpdocs for better type hinting (php-opencloud#376)

* one integration workflow (php-opencloud#377)

* one integration workflow to rule them all

* update README.md with new badge

* create BlockStorage v3 as copy of v2 (php-opencloud#378)

* Chores (php-opencloud#379)

* format via php-cs-fixer
* add unit tests with the lowest possible dependencies
* add unit tests with php 8.2 and 8.3
* add integration tests for  2023.1 antelope and yoga
* allow skipping integration, unit or both tests in pull requests

---------

Co-authored-by: k0ka <[email protected]>

* Application credentials (php-opencloud#380)

* add endpoints to create/get/remove application credentials
* add token creation using application credentials
* cancel running workflows on new commit

---------

Co-authored-by: smarcet <[email protected]>
Co-authored-by: k0ka <[email protected]>

* fix doc for application credentials (php-opencloud#381)

* Handler stack factory (php-opencloud#382)

* Changed guzzle final HandlerStack extension to factory class HandlerStackFactory

---------

Co-authored-by: k0ka <[email protected]>
Co-authored-by: jarragon-slash2 <[email protected]>

* Fix testing class namespaces (php-opencloud#383)

Co-authored-by: peter279k <[email protected]>

* Refactor tests (php-opencloud#384)

use `include_once $this->sampleFile(` instead of `$path = $this->sampleFile(..); include_once $path`

* Move integration tests to phpunit (php-opencloud#387)

* moved integration tests to phpunit 
* updated integration tests description in CONTRIBUTING.md
* added `name` parameter to `patchUser` so the sample file works properly
* added `Retrievable` interface to `VolumeType`
* added `HasWaiterTrait` to `Compute::Image`
* added `Token::validate()` function to check if Identity token is valid

---------

Co-authored-by: k0ka <[email protected]>

* License: add full text, remove rackspace (php-opencloud#388)

* added bigger rescue timeouts (php-opencloud#390)

* return HandlerStack for BC (php-opencloud#391)

* return HandlerStack for Backward Compatibility - php-opencloud#382

* Merge network services (php-opencloud#392)

* Merge all network service extensions into main one using traits
* Add unit test error_reporting
* Increase volume attachment test timeout

* Clarify docs (php-opencloud#389)

* Rewrite most of documentation. 
* Make creating the `$openstack` object more clear.
* Rename and rearrange main operations as CRUDL (Create, Read, Update, Delete, List)

* Resume suspend server (php-opencloud#394)

* Implement resuming and suspending of servers

---------

Co-authored-by: Martin Zurowietz <[email protected]>

* fix resume/suspend doc (php-opencloud#395)

* refactor unit tests: use `mockRequest` for all requests  (php-opencloud#397)

* Fix Swift container requests with "tokens" in its name (php-opencloud#396)

* add errorVerbosity (php-opencloud#400)

fixes php-opencloud#335
fixes php-opencloud#398

* add docs for volume attachement (php-opencloud#401)

fixes php-opencloud#399

* fix doc links (php-opencloud#402)

* enchance error builder: output body only for json, limit body to 5 Kb (php-opencloud#405)

fixes php-opencloud#403
supersedes php-opencloud#404

* make swift metadata header case insensitive  (php-opencloud#407)

* compare headers case insensitively
* drop support of unmaintained releases in CI (until they are returned in github action).

* return unmaintaned openstack versions into ci (php-opencloud#408)

* override TARGET_BRANCH

* Apply php-cs-fixer changes

---------

Co-authored-by: Konstantin Babushkin <[email protected]>
Co-authored-by: k0ka <[email protected]>
Co-authored-by: smarcet <[email protected]>
Co-authored-by: jarragon-slash2 <[email protected]>
Co-authored-by: peter279k <[email protected]>
Co-authored-by: Martin Zurowietz <[email protected]>
Co-authored-by: Kamil Kozłowski <[email protected]>
Co-authored-by: giogurto-grande <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant