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

feat: Support string concatenation of scopes #183

Merged
merged 1 commit into from
Jan 17, 2024

Conversation

mkilmanas
Copy link
Contributor

Changes

There has been support for Symfony role resolution from both permissions and scope claims in the JWT tokens for a while now.

However, there was a problem that this bundle expected scope claim to be either an array, or a string with the single scope value, while in reality Auth0 authentication API returns tokens with scope value being a concatenated string of multiple scope values:

Screenshot 2024-01-16 at 15 00 12

In this bundle such scope produced an unusable role code with spaces in it and all permissions in one string.

This PR fixes this issue, by adding support for concatenated-string scope value while preserving support for previous formats as well.

Testing

PhpUnit tests added (both previous formats + the new one; i.e. one test would fail on old codebase)

[x] This change adds test coverage

[ ] This change has been tested on the latest version of Symfony

Checklist

[x] I have read the Auth0 general contribution guidelines

[x] I have read the Auth0 Code of Conduct

[x] All existing and new tests complete without errors

@mkilmanas mkilmanas requested a review from a team as a code owner January 16, 2024 13:09
@evansims evansims changed the title Add handling for string concatenation of scopes feat: Support string concatenation of scopes Jan 17, 2024
Copy link
Member

@evansims evansims left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for your contribution 👍

@evansims evansims merged commit 5a20408 into auth0:main Jan 17, 2024
23 checks passed
evansims added a commit that referenced this pull request Jun 24, 2024
This release includes experimental community-contributed support for Symfony 7. If you encounter any issues, please [open an issue on GitHub](https://github.com/auth0/symfony/issues).

**Added**

- Support for Symfony 7. [\#188](#188) ([mkilmanas](https://github.com/mkilmanas))
- Support string concatenation of scopes. [\#183](#183) ([mkilmanas](https://github.com/mkilmanas))

**Changed**

- Dashes in JWT permissions/scopes are now normalized. [\#184](#184) ([mkilmanas](https://github.com/mkilmanas))

**Fixed**

- Fixed an issue in controller constructors using a `$container` argument. [\#190)](#190) ([mkilmanas](https://github.com/mkilmanas))
@evansims evansims mentioned this pull request Jun 24, 2024
evansims added a commit that referenced this pull request Jun 24, 2024
This release includes experimental community-contributed support for
Symfony 7. If you encounter any issues, please [open an issue on
GitHub](https://github.com/auth0/symfony/issues).

**Added**

- Support for Symfony 7.
[\#188](#188)
([mkilmanas](https://github.com/mkilmanas))
- Support string concatenation of scopes.
[\#183](#183)
([mkilmanas](https://github.com/mkilmanas))

**Changed**

- Dashes in JWT permissions/scopes are now normalized.
[\#184](#184)
([mkilmanas](https://github.com/mkilmanas))

**Fixed**

- Fixed an issue in controller constructors using a `$container`
argument. [\#190)](#190)
([mkilmanas](https://github.com/mkilmanas))
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.

None yet

2 participants