سلام
این سوال را دوست عزیز مون پرسیده اند
بنده یک مقدار بهش جزئیات می دهم
مطابق فیلم ها در فایل env
GOOGLE_CLINT_ID=187178020700-gtgbbbqs5t96tai4oq4ldnijgiicfck4.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=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
GOOGLE_REDIRECT_LINK=http://localhost/Auth/google/callback
این عبارت را
شروع می کنیم به آدرس دادن و همین آدرس را به گوگلhttp://localhost با GOOGLE_REDIRECT_LINK
می دهیم
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Laravel\Socialite\Facades\Socialite;
class SocialController extends Controller
{
public function redirectToProvider($driver)
{
//dd($driver);
return Socialite::driver($driver)->redirect();
}
public function callbackProvider($driver)
{
dd($driver);
}
}
و روت مان هم مشابه فیلم ها
Route::get('redirect/{provider}','SocialController@redirectToProvider')->name('Auth.login.provider.redirect');
Route::get('{provider}/callback','SocialController@callbackProvider')->name('Auth.login.provider.callback');
خب روت اول انجام می شود اما روت دوم با
urlاین آدرس
http://localhost/Auth/google/callback?state=sgvFGcQ0tXUufkJTxLNlXcX1mEIBMAgjqBXbZz4n&code=4%2F0AX4XfWgp2Wf054J-4oB-KpcPKOAAJCGjSeb7lAfTeO2baQiUlz7RbBIzIk5dkSZC0AqvyA&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=0&prompt=consent#
این خطا را می دهد
Not Found
The requested URL was not found on this server.
Apache/2.4.46 (Win64) PHP/7.4.9 Server at localhost Port 80
توجه کنید وقتی
url
را تغییر می دهم
http://127.0.0.1:8000/Auth/google/callback?state=sgvFGcQ0tXUufkJTxLNlXcX1mEIBMAgjqBXbZz4n&code=4%2F0AX4XfWgp2Wf054J-4oB-KpcPKOAAJCGjSeb7lAfTeO2baQiUlz7RbBIzIk5dkSZC0AqvyA&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=0&prompt=consent#
به آن خروجی موردنظرم دست پیدا می کنم
با این وجود اومدم
GOOGLE_REDIRECT_LINK=http://127.0.0.1:8000/Auth/google/callback
تغییر دادم و همین ادرس را نیز به گوگل دادم
در روت اول بعد از احراز اصالت گوگل یا قبل از ان این خطا را می دهد
Authorization Error
Error 400: redirect_uri_mismatch
You can't sign in to this app because it doesn't comply with Google's OAuth 2.0 policy.
If you're the app developer, register the redirect URI in the Google Cloud Console.
لطفا راهنمایی کنید.
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:ZWj5wiNcw/AP/TuQBpF55b6WdoXLzIbQD37860wIhfQ=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=database
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=fd1f20ea929429
MAIL_PASSWORD=a03481d655fe74
[email protected]
MAIL_FROM_NAME=Example
MAIL_ENCRYPTION=tls
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
RECAPTCHA_SITE_KEY=6LfA3OscAAAAAGe2Xh1yfysNgVRuNaQyy9MDqjMa
RECAPTCHA_SECRET_KEY=6LfA3OscAAAAAKN-uQPUzAu06XZdCZVJ9IWoZj3N
GOOGLE_CLINT_ID=187178020700-gtgbbbqs5t96tai4oq4ldnijgiicfck4.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=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
GOOGLE_REDIRECT_LINK=http://127.0.0.1:8000/Auth/google/callback