Merge pull request #697 from fkooman/fix-s256

Fix PKCE code verifier encoding to match specification
This commit is contained in:
Andrew Millington 2017-12-23 01:52:33 +00:00 committed by GitHub
commit f11e4c81cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View File

@ -144,7 +144,7 @@ class AuthCodeGrant extends AbstractAuthorizeGrant
case 'S256': case 'S256':
if ( if (
hash_equals( hash_equals(
urlencode(base64_encode(hash('sha256', $codeVerifier))), strtr(rtrim(base64_encode(hash('sha256', $codeVerifier)), '='), '+/', '-_'),
$authCodePayload->code_challenge $authCodePayload->code_challenge
) === false ) === false
) { ) {

View File

@ -767,7 +767,7 @@ class AuthCodeGrantTest extends TestCase
'user_id' => 123, 'user_id' => 123,
'scopes' => ['foo'], 'scopes' => ['foo'],
'redirect_uri' => 'http://foo/bar', 'redirect_uri' => 'http://foo/bar',
'code_challenge' => urlencode(base64_encode(hash('sha256', 'foobar'))), 'code_challenge' => strtr(rtrim(base64_encode(hash('sha256', 'foobar')), '='), '+/', '-_'),
'code_challenge_method' => 'S256', 'code_challenge_method' => 'S256',
] ]
) )