77use App \Models \OAuthProvider ;
88use App \Models \User ;
99use Illuminate \Foundation \Auth \AuthenticatesUsers ;
10+ use Laravel \Socialite \Contracts \User as SocialiteUser ;
1011use Laravel \Socialite \Facades \Socialite ;
1112
1213class OAuthController extends Controller
@@ -15,8 +16,6 @@ class OAuthController extends Controller
1516
1617 /**
1718 * Create a new controller instance.
18- *
19- * @return void
2019 */
2120 public function __construct ()
2221 {
@@ -27,24 +26,18 @@ public function __construct()
2726
2827 /**
2928 * Redirect the user to the provider authentication page.
30- *
31- * @param string $provider
32- * @return \Illuminate\Http\RedirectResponse
3329 */
34- public function redirect ($ provider )
30+ public function redirect (string $ provider )
3531 {
36- return [
32+ return response ()-> json ( [
3733 'url ' => Socialite::driver ($ provider )->stateless ()->redirect ()->getTargetUrl (),
38- ];
34+ ]) ;
3935 }
4036
4137 /**
4238 * Obtain the user information from the provider.
43- *
44- * @param string $driver
45- * @return \Illuminate\Http\Response
4639 */
47- public function handleCallback ($ provider )
40+ public function handleCallback (string $ provider )
4841 {
4942 $ user = Socialite::driver ($ provider )->stateless ()->user ();
5043 $ user = $ this ->findOrCreateUser ($ provider , $ user );
@@ -61,11 +54,9 @@ public function handleCallback($provider)
6154 }
6255
6356 /**
64- * @param string $provider
65- * @param \Laravel\Socialite\Contracts\User $sUser
66- * @return \App\Models\User
57+ * Find or create a user.
6758 */
68- protected function findOrCreateUser ($ provider , $ user )
59+ protected function findOrCreateUser (string $ provider , SocialiteUser $ user ): User
6960 {
7061 $ oauthProvider = OAuthProvider::where ('provider ' , $ provider )
7162 ->where ('provider_user_id ' , $ user ->getId ())
@@ -88,11 +79,9 @@ protected function findOrCreateUser($provider, $user)
8879 }
8980
9081 /**
91- * @param string $provider
92- * @param \Laravel\Socialite\Contracts\User $sUser
93- * @return \App\Models\User
82+ * Create a new user.
9483 */
95- protected function createUser ($ provider , $ sUser )
84+ protected function createUser (string $ provider , SocialiteUser $ sUser ): User
9685 {
9786 $ user = User::create ([
9887 'name ' => $ sUser ->getName (),
0 commit comments