Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[HttpClient] Allow bearer token with colon#38248

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

@stephanvierkant
Copy link
Contributor

QA
Branch?4.4
Bug fix?yes
New feature?no
Deprecations?no
Ticketsn/a
LicenseMIT
Doc PRn/a

The JetBrains Hub (YouTrack API) creates tokens with aperm: prefix. This doesn't work right now, because HttpClient doesn't allow a colon in the bearer token.

As far as I can see, there is no reason to disallow the use of the semicolon in the bearer token, so this PR fixes it.

Example of a token:perm:c3RlcGhhbg==.NTUtMw==.NiZw16agafhsQAShTvclhb78hyJh2H

@wouterj
Copy link
Member

Seems like the RFC 6750 bearer format was used here:https://tools.ietf.org/html/rfc6750#section-2.1

But I see no reason to prevent any other token format here, "bearer" isn't directly coupled to OAuth2.0, right?

stephanvierkant, ro0NL, and derrabus reacted with thumbs up emoji


if (isset($options['auth_bearer']) && (!\is_string($options['auth_bearer']) || !preg_match('{^[-._=~+/0-9a-zA-Z]++$}',$options['auth_bearer']))) {
if (isset($options['auth_bearer']) && (!\is_string($options['auth_bearer']) || !preg_match('{^[-._=:~+/0-9a-zA-Z]++$}',$options['auth_bearer']))) {
thrownewInvalidArgumentException(sprintf('Option "auth_bearer" must be a string containing only characters from the base 64 alphabet,'.(\is_string($options['auth_bearer']) ?'invalid string given.' :'"%s" given.'),\gettype($options['auth_bearer'])));
Copy link
Contributor

Choose a reason for hiding this comment

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

The message should be updated. It's now the base 64 alphabet with the colon!

stephanvierkant and OskarStark reacted with thumbs up emoji

Choose a reason for hiding this comment

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

reverted, no need to advertise the colon, its non-standard

stephanvierkant and fbourigault reacted with thumbs up emoji
@OskarStark
Copy link
Contributor

Could you add a testcase?

derrabus reacted with thumbs up emoji

@stof
Copy link
Member

I think this still deserves reporting to Jetbrains that their OAuth tokens don't actually respect the OAuth stack.

But we might indeed be less strict here, accepting more things that servers provide as tokens.

@stephanvierkant
Copy link
ContributorAuthor

I think this still deserves reporting to Jetbrains that their OAuth tokens don't actually respect the OAuth stack.

But we might indeed be less strict here, accepting more things that servers provide as tokens.

https://youtrack.jetbrains.com/issue/JPS-10419

@nicolas-grekasnicolas-grekas added this to the4.4 milestoneSep 24, 2020

if (isset($options['auth_bearer']) && (!\is_string($options['auth_bearer']) || !preg_match('{^[-._=~+/0-9a-zA-Z]++$}',$options['auth_bearer']))) {
if (isset($options['auth_bearer']) && (!\is_string($options['auth_bearer']) || !preg_match('{^[-._=:~+/0-9a-zA-Z]++$}',$options['auth_bearer']))) {
thrownewInvalidArgumentException(sprintf('Option "auth_bearer" must be a string containing only characters from the base 64 alphabet,'.(\is_string($options['auth_bearer']) ?'invalid string given.' :'"%s" given.'),\gettype($options['auth_bearer'])));

Choose a reason for hiding this comment

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

reverted, no need to advertise the colon, its non-standard

stephanvierkant and fbourigault reacted with thumbs up emoji
@nicolas-grekas
Copy link
Member

Thank you@stephanvierkant.

stephanvierkant reacted with hooray emoji

@nicolas-grekasnicolas-grekas merged commitcaab0f1 intosymfony:4.4Sep 24, 2020
@stephanvierkantstephanvierkant deleted the httpclient-bearer-colon branchSeptember 24, 2020 13:32
This was referencedSep 27, 2020
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@nicolas-grekasnicolas-grekasnicolas-grekas approved these changes

+1 more reviewer

@fbourigaultfbourigaultfbourigault left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Projects

None yet

Milestone

4.4

Development

Successfully merging this pull request may close these issues.

7 participants

@stephanvierkant@wouterj@OskarStark@stof@nicolas-grekas@fbourigault@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp