Skip to content

Commit 586fc5a

Browse files
authored
Fix displaying secret in Vue component (#1244)
1 parent 7183f24 commit 586fc5a

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

resources/js/components/Clients.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050

5151
<!-- Secret -->
5252
<td style="vertical-align: middle;">
53-
<code>{{ client.secret }}</code>
53+
<code>{{ client.secret ? client.secret : '-' }}</code>
5454
</td>
5555

5656
<!-- Edit Button -->
@@ -337,7 +337,7 @@
337337
338338
axios[method](uri, form)
339339
.then(response => {
340-
this.getClients();
340+
this.clients.push(response.data);
341341
342342
form.name = '';
343343
form.redirect = '';

src/Http/Controllers/ClientController.php

+17-4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Illuminate\Http\Response;
88
use Laravel\Passport\ClientRepository;
99
use Laravel\Passport\Http\Rules\RedirectRule;
10+
use Laravel\Passport\Passport;
1011

1112
class ClientController
1213
{
@@ -59,14 +60,20 @@ public function forUser(Request $request)
5960
{
6061
$userId = $request->user()->getAuthIdentifier();
6162

62-
return $this->clients->activeForUser($userId)->makeVisible('secret');
63+
$clients = $this->clients->activeForUser($userId);
64+
65+
if (Passport::$hashesClientSecrets) {
66+
return $clients;
67+
}
68+
69+
return $clients->makeVisible('secret');
6370
}
6471

6572
/**
6673
* Store a new client.
6774
*
6875
* @param \Illuminate\Http\Request $request
69-
* @return \Laravel\Passport\Client
76+
* @return \Laravel\Passport\Client|array
7077
*/
7178
public function store(Request $request)
7279
{
@@ -76,10 +83,16 @@ public function store(Request $request)
7683
'confidential' => 'boolean',
7784
])->validate();
7885

79-
return $this->clients->create(
86+
$client = $this->clients->create(
8087
$request->user()->getAuthIdentifier(), $request->name, $request->redirect,
8188
false, false, (bool) $request->input('confidential', true)
82-
)->makeVisible('secret');
89+
);
90+
91+
if (Passport::$hashesClientSecrets) {
92+
return ['secret' => $client->plainSecret] + $client->toArray();
93+
}
94+
95+
return $client->makeVisible('secret');
8396
}
8497

8598
/**

0 commit comments

Comments
 (0)