Skip to content

Commit edc75d7

Browse files
authored
[1.x] Fix missing scopes passed to redirectUrl (#11)
1 parent c0c2382 commit edc75d7

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/Traits/HandlesAuthentication.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public function getRedirect(?string $redirectUrl = null, array $scopes = []): st
5353
throw new \InvalidArgumentException('A valid redirect URL is required');
5454
}
5555

56-
$scopes = array_merge($this->config['scopes'] ?? [], [
56+
$scopes = array_merge($this->config['scopes'] ?? [], $scopes, [
5757
'email', 'public_profile',
5858
]);
5959

tests/FacebookTest.php

+5
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@
7272
$this->assertStringContainsStringIgnoringCase('scope='.urlencode('email,public_profile'), $redirect);
7373
});
7474

75+
it('merges scopes passed when fetching redirect URLs', function () {
76+
$redirect = $this->getFacebookMock()->getRedirect(null, ['publish_actions']);
77+
$this->assertStringContainsStringIgnoringCase('scope='.urlencode('publish_actions,email,public_profile'), $redirect);
78+
});
79+
7580
it('builds replaces duplicate scopes with defaults', function () {
7681
$redirect = $this->getFacebookMock(['scopes' => ['email', 'public_profile']])->getRedirect();
7782
$this->assertStringContainsStringIgnoringCase('scope='.urlencode('email,public_profile'), $redirect);

0 commit comments

Comments
 (0)