7
7
use Illuminate \Http \Response ;
8
8
use Laravel \Passport \ClientRepository ;
9
9
use Laravel \Passport \Http \Rules \RedirectRule ;
10
+ use Laravel \Passport \Passport ;
10
11
11
12
class ClientController
12
13
{
@@ -59,14 +60,20 @@ public function forUser(Request $request)
59
60
{
60
61
$ userId = $ request ->user ()->getAuthIdentifier ();
61
62
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 ' );
63
70
}
64
71
65
72
/**
66
73
* Store a new client.
67
74
*
68
75
* @param \Illuminate\Http\Request $request
69
- * @return \Laravel\Passport\Client
76
+ * @return \Laravel\Passport\Client|array
70
77
*/
71
78
public function store (Request $ request )
72
79
{
@@ -76,10 +83,16 @@ public function store(Request $request)
76
83
'confidential ' => 'boolean ' ,
77
84
])->validate ();
78
85
79
- return $ this ->clients ->create (
86
+ $ client = $ this ->clients ->create (
80
87
$ request ->user ()->getAuthIdentifier (), $ request ->name , $ request ->redirect ,
81
88
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 ' );
83
96
}
84
97
85
98
/**
0 commit comments