Skip to content

Commit 8152e79

Browse files
[13.x] Fix issuing PAT with configured trusted hosts (#1852)
* fix issuing PAT with trusted hosts * add tests
1 parent 8d3ab00 commit 8152e79

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed

src/PersonalAccessTokenFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public function make(string|int $userId, string $name, array $scopes, string $pr
3939
*/
4040
protected function createRequest(string|int $userId, string $name, array $scopes, string $provider): ServerRequestInterface
4141
{
42-
return (new PsrHttpFactory)->createRequest(Request::create('', 'POST', [
42+
return (new PsrHttpFactory)->createRequest(Request::create(config('app.url'), 'POST', [
4343
'grant_type' => 'personal_access',
4444
'provider' => $provider,
4545
'user_id' => $userId,
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
namespace Laravel\Passport\Tests\Feature;
4+
5+
use Illuminate\Http\Request;
6+
use Laravel\Passport\Database\Factories\ClientFactory;
7+
use Laravel\Passport\PersonalAccessTokenResult;
8+
use Orchestra\Testbench\Concerns\WithLaravelMigrations;
9+
use Workbench\Database\Factories\UserFactory;
10+
11+
class PersonalAccessGrantWithTrustedHostsTest extends PassportTestCase
12+
{
13+
use WithLaravelMigrations;
14+
15+
protected function setUp(): void
16+
{
17+
parent::setUp();
18+
19+
$this->app['config']->set('app.url', 'https://laravel.test');
20+
21+
Request::setTrustedHosts(['laravel.test']);
22+
}
23+
24+
protected function tearDown(): void
25+
{
26+
$this->app['config']->set('app.url', 'http://localhost');
27+
28+
Request::setTrustedHosts([]);
29+
30+
parent::tearDown();
31+
}
32+
33+
public function testIssueToken()
34+
{
35+
$user = UserFactory::new()->create();
36+
37+
ClientFactory::new()->asPersonalAccessTokenClient()->create();
38+
39+
$result = $user->createToken('test');
40+
41+
$this->assertInstanceOf(PersonalAccessTokenResult::class, $result);
42+
$this->assertArrayHasKey('accessToken', $result->toArray());
43+
}
44+
}

0 commit comments

Comments
 (0)