{"id":200,"date":"2019-11-03T11:45:55","date_gmt":"2019-11-03T08:15:55","guid":{"rendered":"http:\/\/hamidrezam.com\/blog\/?p=200"},"modified":"2019-11-03T11:47:08","modified_gmt":"2019-11-03T08:17:08","slug":"%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84","status":"publish","type":"post","link":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/","title":{"rendered":"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644"},"content":{"rendered":"<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647\u062a\u0648\u0646 \u0645\u06cc\u06af\u0645 \u0686\u0637\u0648\u0631 \u0627\u0632 \u067e\u06a9\u06cc\u062c Socialite \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0646 \u0648 \u0628\u0647 \u0648\u0628\u0633\u0627\u06cc\u062a\u062a\u0648\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 \u06cc\u0627&#8230; \u0631\u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0646. \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0646\u06cc\u0627\u0632\u0647 \u06a9\u0647 \u0645\u0627 \u067e\u06a9\u06cc\u062c Socialite \u0631\u0648 \u0628\u0648\u0633\u06cc\u0644\u0647 composer \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645. \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u062e\u0648\u062f \u0644\u0627\u0631\u0627\u0648\u0644 \u0631\u0648 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0646:\u00a0 <a href=\"https:\/\/laravel.com\/docs\/master\/socialite\">Laravel Socialite<\/a><\/p>\n<p><strong>\u0646\u0635\u0628 Socialite\u00a0<\/strong><\/p>\n<pre class=\"lang:default decode:true\">composer require laravel\/socialite<\/pre>\n<p><strong><br \/>\n\u06a9\u0627\u0646\u0641\u06cc\u06a9 \u0644\u0627\u0631\u0627\u0648\u0644<\/strong><\/p>\n<p>\u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u0645\u06cc\u062e\u0648\u0627\u06cc\u0646 (\u06af\u0648\u06af\u0644\u060c \u0641\u06cc\u0633\u0628\u0648\u06a9\u060c \u0644\u06cc\u0646\u06a9\u062f\u0627\u06cc\u0646 \u0648&#8230;) \u0631\u0648 \u0628\u0647 config\/service.php \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0646.<\/p>\n<pre class=\"fl fm fn fo fp hy hz cs\"><span id=\"903d\" class=\"he hf dt ba ia b el ib ic r id\" data-selectable-paragraph=\"\">'google' =&gt; [\r\n    'client_id'     =&gt; env('GOOGLE_CLIENT_ID'),\r\n    'client_secret' =&gt; env('GOOGLE_CLIENT_SECRET'),\r\n    'redirect'      =&gt; env('GOOGLE_REDIRECT')\r\n],<\/span><\/pre>\n<p>\u0628\u0639\u062f \u0627\u06cc\u0646\u06a9\u0647 \u067e\u06a9\u06cc\u062c \u062c\u062f\u06cc\u062f \u0631\u0648 \u0646\u0635\u0628 \u06a9\u0631\u062f\u06cc\u0645 \u0633\u0631\u0648\u06cc\u0633 \u067e\u0631\u0648\u0648\u0627\u06cc\u062f\u0631 \u0627\u0648\u0646 \u0631\u0648 \u0647\u0645 \u0628\u0647 config\/app.php \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u06a9\u0646\u06cc\u0645<\/p>\n<pre class=\"fl fm fn fo fp hy hz cs\"><span id=\"7b4e\" class=\"he hf dt ba ia b el ib ic r id\" data-selectable-paragraph=\"\">\/*\r\n* Package Service Providers...\r\n*\/\r\nLaravel\\Socialite\\SocialiteServiceProvider::class,<\/span><\/pre>\n<p>\u0633\u0631\u0648\u06cc\u0633 \u067e\u0631\u0648\u0648\u0627\u06cc\u062f\u0631 \u062c\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0631\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0648 \u067e\u06a9\u06cc\u062c \u0647\u0627\u0633\u062a\u060c \u062e\u0637 \u0628\u0627\u0644\u0627 \u0628\u0647 \u0644\u0627\u0631\u0627\u0648\u0644 Socialite \u0631\u0648 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u0634\u0646\u0627\u0633\u0648\u0646\u0647.<\/p>\n<p>\u0647\u0645\u06cc\u0634\u0647 \u067e\u0627\u06cc \u06cc\u06a9 alias \u0647\u0645 \u062f\u0631 \u0645\u06cc\u0648\u0646\u0647! \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0631\u0627\u062d\u062a\u062a\u0631 \u0622\u0644\u06cc\u0627\u0633 \u0627\u0648\u0646 \u0631\u0648 \u0647\u0645 \u0646\u0635\u0628 \u0645\u06cc\u06a9\u0646\u06cc\u0645.<\/p>\n<pre class=\"fl fm fn fo fp hy hz cs\"><span id=\"eb0e\" class=\"he hf dt ba ia b el ib ic r id\" data-selectable-paragraph=\"\">'aliases' =&gt; [\r\n    \/\/ ...\r\n    'Socialite' =&gt; Laravel\\Socialite\\Facades\\Socialite::class,\r\n]<\/span><\/pre>\n<p>\u062a\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0634\u0645\u0627 \u0645\u06cc\u0628\u0627\u06cc\u0633\u062a \u0633\u0627\u062e\u062a\u0627\u0631 \u0627\u0647\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0631\u0648 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u0648 \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u062a\u0635\u0648\u0631 \u0645\u06cc\u06a9\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0631\u0648 \u0642\u0628\u0644\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u06cc\u0646.<\/p>\n<p>\u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f\u062a\u0648\u0646 \u0631\u0648 \u062f\u0631 \u06af\u0648\u06af\u0644 <a href=\"https:\/\/console.developers.google.com\/projectcreate\">https:\/\/console.developers.google.com\/projectcreate <\/a>\u062f\u0631\u0633\u062a \u06a9\u0646\u06cc\u0646 \u0648 \u0628\u0639\u062f \u0647\u0645 \u06cc\u06a9 \u0627\u0639\u062a\u0628\u0627\u0631 \u0646\u0627\u0645\u0647 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 <a href=\"https:\/\/console.developers.google.com\/apis\/credentials\">https:\/\/console.developers.google.com\/apis\/credentials<\/a> \u062f\u0631\u0633\u062a \u06a9\u0646\u06cc\u0646.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-213 size-full\" title=\"OAuth client ID &gt; Consent &gt; Web application\" src=\"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png\" alt=\"OAuth clinet id google console\" width=\"1594\" height=\"1030\" srcset=\"https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png 1594w, https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1-300x194.png 300w, https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1-768x496.png 768w, https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1-1024x662.png 1024w\" sizes=\"auto, (max-width: 1594px) 100vw, 1594px\" \/><br \/>\nOAuth client ID &gt; <a class=\"er cf gm gn go gp\" href=\"https:\/\/console.developers.google.com\/apis\/credentials\/consent\" target=\"_blank\" rel=\"noopener noreferrer\">Consent<\/a> &gt; Web application<\/p>\n<p>\u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0647 \u06af\u0631\u0641\u062a\u06cc\u0646 \u0631\u0648 \u062f\u0631 .env \u0641\u0627\u06cc\u0644 \u062e\u0648\u062f\u062a\u0648\u0646 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u0646:<\/p>\n<pre class=\"fl fm fn fo fp hy hz cs\"><span id=\"dd72\" class=\"he hf dt ba ia b el ib ic r id\" data-selectable-paragraph=\"\">GOOGLE_CLIENT_ID=000000000000-XXXXXXXXXXX.apps.googleusercontent.com\r\nGOOGLE_CLIENT_SECRET=XXXXXXXXXXXXX\r\nGOOGLE_REDIRECT=<a class=\"er cf gm gn go gp\" href=\"http:\/\/localhost:8000\/callback\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/localhost:8000\/callback<\/a><\/span><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-214 size-full\" src=\"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/2.png\" alt=\"\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0646 \u0622\u062f\u0631\u0633 \u0628\u0631\u06af\u0634\u062a\u06cc\" width=\"1206\" height=\"202\" srcset=\"https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/2.png 1206w, https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/2-300x50.png 300w, https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/2-768x129.png 768w, https:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/2-1024x172.png 1024w\" sizes=\"auto, (max-width: 1206px) 100vw, 1206px\" \/><\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627\u06cc\u062f \u0622\u062f\u0631\u0633 \u06a9\u0627\u0644\u0628\u06a9 \u0631\u0648 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u0646.<\/p>\n<p>\u0628\u0639\u062f \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0622\u062f\u0631\u0633 \u0647\u0627 \u0648\u0627\u0631\u062f \u0648\u0628 \u0631\u0648\u062a \u062e\u0648\u062f \u0628\u0634\u06cc\u0646 \u0648 \u0631\u0648\u062a \u0647\u0627\u06cc \u0645\u062e\u0635\u0648\u0635 \u0631\u06cc\u062f\u0627\u0631\u06a9\u062a \u0628\u0647 \u06af\u0648\u06af\u0644 \u0648 \u0628\u0627\u0632\u06af\u0634\u062a \u0627\u0648\u0646 \u0631\u0648 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0646.<\/p>\n<pre class=\"fl fm fn fo fp hy hz cs\"><span id=\"7c27\" class=\"he hf dt ba ia b el ib ic r id\" data-selectable-paragraph=\"\"><mark class=\"ws ra kd\">Route::get('\/redirect', 'Auth\\LoginController@redirectToProvider');\r\nRoute::get('\/callback', 'Auth\\LoginController@handleProviderCallback');<\/mark><\/span><\/pre>\n<p>\u062f\u0631 \u062e\u0637 \u0627\u0648\u0644 \u0631\u0648\u0627\u062a\u06cc (\u06cc\u0627 \u0631\u0648\u062a\u06cc) \u0631\u0648 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0648 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0645\u06cc\u0641\u0631\u0633\u062a\u0647 \u0648 \u062e\u0637 \u062f\u0648\u0645 \u0628\u0631\u06af\u0634\u062a \u0627\u0632 \u06af\u0648\u06af\u0644 \u0628\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631 \u0647\u0633\u062a. \u062d\u0627\u0644\u0627 \u062f\u0631 LoginController.php \u0645\u062a\u062f \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0648 \u0631\u0648\u0627\u062a \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u06cc\u0645 \u0631\u0648 \u0648\u0627\u0631\u062f \u0645\u06cc\u06a9\u0646\u06cc\u0645. \u0645\u062a\u062f \u0632\u06cc\u0631 \u0645\u0627\u0631\u0648 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0631\u06cc\u062f\u0627\u06cc\u0631\u06a9\u062a \u0645\u06cc\u06a9\u0646\u0647 \u0628\u0631\u0627\u06cc \u06af\u0631\u0641\u062a\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631.<\/p>\n<pre class=\"fl fm fn fo fp hy hz cs\"><span id=\"5a6d\" class=\"he hf dt ba ia b el ib ic r id\" data-selectable-paragraph=\"\">\/**\r\n  * Redirect the user to the Google authentication page.\r\n  *\r\n  * <a class=\"er cf gm gn go gp\" href=\"http:\/\/twitter.com\/return\" target=\"_blank\" rel=\"noopener noreferrer\">@return<\/a> \\Illuminate\\Http\\Response\r\n  *\/\r\npublic function redirectToProvider()\r\n{\r\n    return Socialite::driver('google')-&gt;redirect();\r\n}<\/span><\/pre>\n<p>\u0648 \u0645\u062a\u062f \u0628\u0639\u062f\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631 \u0627\u0632 \u06af\u0648\u06af\u0644 \u0647\u0633\u062a (\u0628\u0631\u06af\u0634\u062a \u0627\u0632 \u06af\u0648\u06af\u0644) \u06a9\u0647 \u0627\u06af\u0631 \u0627\u06cc\u0645\u06cc\u0644 \u0642\u0628\u0644\u0627 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647\u060c \u062b\u0628\u062a \u0646\u0627\u0645 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u0634\u0647 \u0648 \u0627\u06af\u0631 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0647 \u0645\u0627 \u0627\u0648\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0648 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u06a9\u0646\u06cc\u0645 \u0648 \u0633\u067e\u0633 \u0644\u0627\u06af\u06cc\u0646 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u0634\u0647:<\/p>\n<pre class=\"fl fm fn fo fp hy hz cs\"><span id=\"4386\" class=\"he hf dt ba ia b el ib ic r id\" data-selectable-paragraph=\"\">    \/**\r\n     * Obtain the user information from Google.\r\n     *\r\n     * <a class=\"er cf gm gn go gp\" href=\"http:\/\/twitter.com\/return\" target=\"_blank\" rel=\"noopener noreferrer\">@return<\/a> \\Illuminate\\Http\\Response\r\n     *\/\r\n    public function handleProviderCallback()\r\n    {\r\n        try {\r\n            $user = Socialite::driver('google')-&gt;user();\r\n        } catch (\\Exception $e) {\r\n            return redirect('\/login');\r\n        }<\/span><span id=\"b9e0\" class=\"he hf dt ba ia b el iu iv iw ix iy ic r id\" data-selectable-paragraph=\"\">        \/\/ only allow people with @company.com to login\r\n        if(explode(\"@\", $user-&gt;email)[1] !== 'company.com'){\r\n            return redirect()-&gt;to('\/');\r\n        }<\/span><span id=\"081c\" class=\"he hf dt ba ia b el iu iv iw ix iy ic r id\" data-selectable-paragraph=\"\">        \/\/ check if they're an existing user\r\n        $existingUser = User::where('email', $user-&gt;email)-&gt;first();<\/span><span id=\"99fa\" class=\"he hf dt ba ia b el iu iv iw ix iy ic r id\" data-selectable-paragraph=\"\">        if($existingUser){\r\n            \/\/ log them in\r\n            auth()-&gt;login($existingUser, true);\r\n        } else {\r\n            \/\/ create a new user\r\n            $newUser                  = new User;\r\n            $newUser-&gt;name            = $user-&gt;name;\r\n            $newUser-&gt;email           = $user-&gt;email;\r\n            $newUser-&gt;google_id       = $user-&gt;id;\r\n            $newUser-&gt;avatar          = $user-&gt;avatar;\r\n            $newUser-&gt;avatar_original = $user-&gt;avatar_original;\r\n            $newUser-&gt;save();<\/span><span id=\"7848\" class=\"he hf dt ba ia b el iu iv iw ix iy ic r id\" data-selectable-paragraph=\"\">            auth()-&gt;login($newUser, true);\r\n        }\r\n        return redirect()-&gt;to('\/home');\r\n    }<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>\u062e\u0628 \u062a\u0627 \u0627\u06cc\u0646\u062c\u0627\u06cc \u06a9\u0627\u0631 \u0634\u0645\u0627 \u0647\u0645\u0647 \u06a9\u0627\u0631\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u06cc\u0646 \u0641\u0642\u0637 \u0628\u0639\u062f \u0627\u06cc\u0646\u06a9\u0647 \u067e\u06a9\u06cc\u062c\u06cc \u0631\u0648 \u0646\u0635\u0628 \u06a9\u0631\u062f\u06cc\u0646 \u062d\u062a\u0645\u0627 \u062f\u0627\u0645\u067e \u06a9\u0646\u06cc\u0646:<\/p>\n<pre class=\"lang:default decode:true \">php artisan clear-compiled\r\ncomposer dump-autoload\r\nphp artisan optimize<\/pre>\n<p>\u0627\u06af\u0631 \u062e\u0648\u0627\u0633\u062a\u06cc\u0646 \u0627\u0632 \u0622\u062f\u0631\u0633 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0644\u0628\u06a9 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u06a9\u0645\u06a9\u062a\u0648\u0646 \u0645\u06cc\u06a9\u0646\u0647<\/p>\n<pre class=\"\"><code class=\"hljs php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">socialLogin<\/span><span class=\"hljs-params\">($loginFrom)<\/span><\/span>{\r\n  <span class=\"hljs-keyword\">return<\/span> Socialite::driver(<span class=\"hljs-string\">'google'<\/span>) &gt;redirectUrl(<span class=\"hljs-string\">'http:\/\/your-domain.com?data=123'<\/span>)-&gt;redirect();\r\n}<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>\u0645\u0646\u0627\u0628\u0639:<\/p>\n<p><a href=\"https:\/\/medium.com\/employbl\/add-login-with-google-to-your-laravel-app-d2205f01b895\">Add Login with Google to your Laravel app<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/questions\/47365532\/laravel-5-5-socialite-integration-shows-error-formatredirecturl-must-be-of-the\">Laravel 5.5 socialite integration shows error formatRedirectUrl() must be of the type array, null given<\/a><br \/>\n<a href=\"https:\/\/laravel.io\/forum\/07-28-2016-dynamic-callback-url-laravel-socialite\">Dynamic callback url laravel socialite <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647\u062a\u0648\u0646 \u0645\u06cc\u06af\u0645 \u0686\u0637\u0648\u0631 \u0627\u0632 \u067e\u06a9\u06cc\u062c Socialite \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0646 \u0648 \u0628\u0647 \u0648\u0628\u0633\u0627\u06cc\u062a\u062a\u0648\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 \u06cc\u0627&#8230; \u0631\u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0646. \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0646\u06cc\u0627\u0632\u0647 \u06a9\u0647 \u0645\u0627 \u067e\u06a9\u06cc\u062c Socialite \u0631\u0648 \u0628\u0648\u0633\u06cc\u0644\u0647 composer \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645. \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u062e\u0648\u062f \u0644\u0627\u0631\u0627\u0648\u0644 \u0631\u0648 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0646:\u00a0 Laravel Socialite \u0646\u0635\u0628 Socialite\u00a0 composer require laravel\/socialite \u06a9\u0627\u0646\u0641\u06cc\u06a9 \u0644\u0627\u0631\u0627\u0648\u0644 \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u0645\u06cc\u062e\u0648\u0627\u06cc\u0646 (\u06af\u0648\u06af\u0644\u060c \u0641\u06cc\u0633\u0628\u0648\u06a9\u060c \u0644\u06cc\u0646\u06a9\u062f\u0627\u06cc\u0646 \u0648&#8230;) &hellip; <a href=\"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/\" class=\"more-link\">\u0627\u062f\u0627\u0645\u0647 \u062e\u0648\u0627\u0646\u062f\u0646 <span class=\"screen-reader-text\">\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,36],"tags":[28,38,27],"class_list":["post-200","post","type-post","status-publish","format-standard","hentry","category-5","category--laravel","tag-laravel","tag-socialite","tag-27"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644 &#8212; \u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hamidrezam.com\/blog\/200\/\u0627\u0641\u0632\u0648\u062f\u0646-\u0644\u0627\u06af\u06cc\u0646-\u0628\u0627-\u062c\u06cc\u0645\u06cc\u0644-\u06af\u0648\u06af\u0644-\u062f\u0631-\u0644\u0627\u0631\u0627\u0648\u0644\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644 &#8212; \u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647\" \/>\n<meta property=\"og:description\" content=\"\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647\u062a\u0648\u0646 \u0645\u06cc\u06af\u0645 \u0686\u0637\u0648\u0631 \u0627\u0632 \u067e\u06a9\u06cc\u062c Socialite \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0646 \u0648 \u0628\u0647 \u0648\u0628\u0633\u0627\u06cc\u062a\u062a\u0648\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 \u06cc\u0627&#8230; \u0631\u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0646. \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0646\u06cc\u0627\u0632\u0647 \u06a9\u0647 \u0645\u0627 \u067e\u06a9\u06cc\u062c Socialite \u0631\u0648 \u0628\u0648\u0633\u06cc\u0644\u0647 composer \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645. \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u062e\u0648\u062f \u0644\u0627\u0631\u0627\u0648\u0644 \u0631\u0648 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0646:\u00a0 Laravel Socialite \u0646\u0635\u0628 Socialite\u00a0 composer require laravel\/socialite \u06a9\u0627\u0646\u0641\u06cc\u06a9 \u0644\u0627\u0631\u0627\u0648\u0644 \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u0645\u06cc\u062e\u0648\u0627\u06cc\u0646 (\u06af\u0648\u06af\u0644\u060c \u0641\u06cc\u0633\u0628\u0648\u06a9\u060c \u0644\u06cc\u0646\u06a9\u062f\u0627\u06cc\u0646 \u0648&#8230;) &hellip; \u0627\u062f\u0627\u0645\u0647 \u062e\u0648\u0627\u0646\u062f\u0646 \u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hamidrezam.com\/blog\/200\/\u0627\u0641\u0632\u0648\u062f\u0646-\u0644\u0627\u06af\u06cc\u0646-\u0628\u0627-\u062c\u06cc\u0645\u06cc\u0644-\u06af\u0648\u06af\u0644-\u062f\u0631-\u0644\u0627\u0631\u0627\u0648\u0644\/\" \/>\n<meta property=\"og:site_name\" content=\"\u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-03T08:15:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-11-03T08:17:08+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png\" \/>\n<meta name=\"author\" content=\"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/\"},\"author\":{\"name\":\"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627\",\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/#\\\/schema\\\/person\\\/0c472a49f2923351fac16c567e12843c\"},\"headline\":\"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644\",\"datePublished\":\"2019-11-03T08:15:55+00:00\",\"dateModified\":\"2019-11-03T08:17:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/\"},\"wordCount\":67,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/#\\\/schema\\\/person\\\/0c472a49f2923351fac16c567e12843c\"},\"image\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/hamidrezam.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/1.png\",\"keywords\":[\"laravel\",\"Socialite\",\"\u0644\u0627\u0631\u0627\u0648\u0644\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\",\"\u0644\u0627\u0631\u0627\u0648\u0644 Laravel\"],\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/\",\"url\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/\",\"name\":\"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644 &#8212; \u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/hamidrezam.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/1.png\",\"datePublished\":\"2019-11-03T08:15:55+00:00\",\"dateModified\":\"2019-11-03T08:17:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#primaryimage\",\"url\":\"http:\\\/\\\/hamidrezam.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/1.png\",\"contentUrl\":\"http:\\\/\\\/hamidrezam.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/200\\\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u062e\u0627\u0646\u0647\",\"item\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/\",\"name\":\"\u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647\",\"description\":\"\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633 \u0648\u0628\",\"publisher\":{\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/#\\\/schema\\\/person\\\/0c472a49f2923351fac16c567e12843c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/hamidrezam.com\\\/blog\\\/#\\\/schema\\\/person\\\/0c472a49f2923351fac16c567e12843c\",\"name\":\"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g\",\"caption\":\"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644 &#8212; \u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hamidrezam.com\/blog\/200\/\u0627\u0641\u0632\u0648\u062f\u0646-\u0644\u0627\u06af\u06cc\u0646-\u0628\u0627-\u062c\u06cc\u0645\u06cc\u0644-\u06af\u0648\u06af\u0644-\u062f\u0631-\u0644\u0627\u0631\u0627\u0648\u0644\/","og_locale":"fa_IR","og_type":"article","og_title":"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644 &#8212; \u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647","og_description":"\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647\u062a\u0648\u0646 \u0645\u06cc\u06af\u0645 \u0686\u0637\u0648\u0631 \u0627\u0632 \u067e\u06a9\u06cc\u062c Socialite \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0646 \u0648 \u0628\u0647 \u0648\u0628\u0633\u0627\u06cc\u062a\u062a\u0648\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 \u06cc\u0627&#8230; \u0631\u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0646. \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0646\u06cc\u0627\u0632\u0647 \u06a9\u0647 \u0645\u0627 \u067e\u06a9\u06cc\u062c Socialite \u0631\u0648 \u0628\u0648\u0633\u06cc\u0644\u0647 composer \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645. \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u062e\u0648\u062f \u0644\u0627\u0631\u0627\u0648\u0644 \u0631\u0648 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0646:\u00a0 Laravel Socialite \u0646\u0635\u0628 Socialite\u00a0 composer require laravel\/socialite \u06a9\u0627\u0646\u0641\u06cc\u06a9 \u0644\u0627\u0631\u0627\u0648\u0644 \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u0645\u06cc\u062e\u0648\u0627\u06cc\u0646 (\u06af\u0648\u06af\u0644\u060c \u0641\u06cc\u0633\u0628\u0648\u06a9\u060c \u0644\u06cc\u0646\u06a9\u062f\u0627\u06cc\u0646 \u0648&#8230;) &hellip; \u0627\u062f\u0627\u0645\u0647 \u062e\u0648\u0627\u0646\u062f\u0646 \u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644","og_url":"https:\/\/hamidrezam.com\/blog\/200\/\u0627\u0641\u0632\u0648\u062f\u0646-\u0644\u0627\u06af\u06cc\u0646-\u0628\u0627-\u062c\u06cc\u0645\u06cc\u0644-\u06af\u0648\u06af\u0644-\u062f\u0631-\u0644\u0627\u0631\u0627\u0648\u0644\/","og_site_name":"\u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647","article_published_time":"2019-11-03T08:15:55+00:00","article_modified_time":"2019-11-03T08:17:08+00:00","og_image":[{"url":"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png","type":"","width":"","height":""}],"author":"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627","twitter_card":"summary_large_image","twitter_misc":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"2 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#article","isPartOf":{"@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/"},"author":{"name":"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627","@id":"https:\/\/hamidrezam.com\/blog\/#\/schema\/person\/0c472a49f2923351fac16c567e12843c"},"headline":"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644","datePublished":"2019-11-03T08:15:55+00:00","dateModified":"2019-11-03T08:17:08+00:00","mainEntityOfPage":{"@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/"},"wordCount":67,"commentCount":1,"publisher":{"@id":"https:\/\/hamidrezam.com\/blog\/#\/schema\/person\/0c472a49f2923351fac16c567e12843c"},"image":{"@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#primaryimage"},"thumbnailUrl":"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png","keywords":["laravel","Socialite","\u0644\u0627\u0631\u0627\u0648\u0644"],"articleSection":["\u0622\u0645\u0648\u0632\u0634","\u0644\u0627\u0631\u0627\u0648\u0644 Laravel"],"inLanguage":"fa-IR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/","url":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/","name":"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644 &#8212; \u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647","isPartOf":{"@id":"https:\/\/hamidrezam.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#primaryimage"},"image":{"@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#primaryimage"},"thumbnailUrl":"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png","datePublished":"2019-11-03T08:15:55+00:00","dateModified":"2019-11-03T08:17:08+00:00","breadcrumb":{"@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/"]}]},{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#primaryimage","url":"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png","contentUrl":"http:\/\/hamidrezam.com\/blog\/wp-content\/uploads\/2019\/11\/1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/hamidrezam.com\/blog\/200\/%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%d9%84%d8%a7%da%af%db%8c%d9%86-%d8%a8%d8%a7-%d8%ac%db%8c%d9%85%db%8c%d9%84-%da%af%d9%88%da%af%d9%84-%d8%af%d8%b1-%d9%84%d8%a7%d8%b1%d8%a7%d9%88%d9%84\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u062e\u0627\u0646\u0647","item":"https:\/\/hamidrezam.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u0627\u06af\u06cc\u0646 \u0628\u0627 \u062c\u06cc\u0645\u06cc\u0644 (\u06af\u0648\u06af\u0644) \u062f\u0631 \u0644\u0627\u0631\u0627\u0648\u0644"}]},{"@type":"WebSite","@id":"https:\/\/hamidrezam.com\/blog\/#website","url":"https:\/\/hamidrezam.com\/blog\/","name":"\u06af\u0627\u0647 \u0646\u0648\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062d\u0645\u06cc\u062f\u0631\u0636\u0627 \u0645\u0698\u062f\u0647","description":"\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633 \u0648\u0628","publisher":{"@id":"https:\/\/hamidrezam.com\/blog\/#\/schema\/person\/0c472a49f2923351fac16c567e12843c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hamidrezam.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"},{"@type":["Person","Organization"],"@id":"https:\/\/hamidrezam.com\/blog\/#\/schema\/person\/0c472a49f2923351fac16c567e12843c","name":"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627","image":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/secure.gravatar.com\/avatar\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g","caption":"\u062d\u0645\u06cc\u062f\u0631\u0636\u0627"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/a353084a1fe18960a14d04113328bbc82a04b44d4f23b351dce4385b58f3baff?s=96&d=mm&r=g"}}]}},"_links":{"self":[{"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/posts\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":4,"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/posts\/200\/revisions"}],"predecessor-version":[{"id":218,"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/posts\/200\/revisions\/218"}],"wp:attachment":[{"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/media?parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/categories?post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hamidrezam.com\/blog\/wp-json\/wp\/v2\/tags?post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}