Tìm kiếm
Chỉ tìm trong tiêu đề
Bởi:
Chỉ tìm trong tiêu đề
Bởi:
Home
Trang nhất
Bài mới
Tìm trong diễn đàn
Có gì mới
Bài mới
Bài viết mới trong hồ sơ
Hoạt động gần đây
Thành viên
Người đang truy cập
Bài viết mới trong hồ sơ
Tìm trong bài viết hồ sơ
Thiết kế web
Chat
2
Archive
Top chatters
Sanctions
Đăng nhập
Tạo tài khoản
Tìm kiếm
Chỉ tìm trong tiêu đề
Bởi:
Chỉ tìm trong tiêu đề
Bởi:
Trình đơn
Install the app
Install
Trả lời vào chủ đề
Home
Trang nhất
Design & Seo website
PHP & MySQL
Laravel
Login gmail, get API google
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Nội dung
<blockquote data-quote="administrator" data-source="post: 69" data-attributes="member: 1"><p>View more: <a href="https://laravel.com/docs/9.x/socialite">https://laravel.com/docs/9.x/socialite</a></p><p></p><p>1. Create api google:</p><p>[URL unfurl="true"]https://console.cloud.google.com/apis/dashboard?pli=1&project=get-gmail-to-sql[/URL]</p><p>2. Create OAuth client ID</p><p>- Select Web Application</p><p>- Name</p><p>- Link callback: <a href="https://demo/gmail/oauth/gmail/callback">https://demo.com/gmail/oauth/gmail/callback</a></p><p>[ATTACH=full]14[/ATTACH]</p><p></p><p>4. Save file to env</p><p>GOOGLE_CLIENT_ID="10192090312319-sqt71csp05s9hrhgnul3f93finme0cg3.apps.googleusercontent.com"</p><p>GOOGLE_CLIENT_SECRET="GOCSPX-2L9X0bHlYz0123123U8Yr123123"</p><p>GOOGLE_REDIRECT_URL="http://localhost:8080/login/google/callback"</p><p></p><p>5. Edit file AuthController.php:</p><p>[CODE]<?php</p><p></p><p>namespace App\Http\Controllers\Admin\Auth;</p><p></p><p>use App\Http\Controllers\Controller;</p><p>use App\Models\Users;</p><p>use Illuminate\Http\Request;</p><p>use Illuminate\Support\Facades\Auth;</p><p>use Laravel\Socialite\Facades\Socialite;</p><p>use Exception;</p><p>use App\Repositories\UserRepositoryInterface;</p><p>use App\Http\Requests\UpdateAuthRequest;</p><p></p><p>class AuthController extends Controller</p><p>{</p><p> /**</p><p> * @var UserRepositoryInterface|\App\Repositories\Repository</p><p> */</p><p> public function __construct(UserRepositoryInterface $userRepository)</p><p> {</p><p> $this->userRepository = $userRepository;</p><p> }</p><p></p><p> /**</p><p> * Display a listing of the resource.</p><p> *</p><p> * @return \Illuminate\Http\Response</p><p> */</p><p> public function getlogin()</p><p> {</p><p> // $user = new \App\Models\User;</p><p> // $user->name = 'admin';</p><p> // $user->email = 'admin@admin.com';</p><p> // $user->password = \Hash::make('123456');</p><p> // $user->save();</p><p> return view('admin/users/login', [</p><p> 'title' => 'Login',</p><p> ]);</p><p> }</p><p></p><p> public function postLogin(Request $request)</p><p> {</p><p> $this->validate($request, [</p><p> 'email' => 'required|email:filter',</p><p> 'password' => 'required'</p><p> ]);</p><p> $user = $this->userRepository->findUserByEmail($request->input('email'));</p><p> if($user && $user->isActive){</p><p> if (Auth::attempt([</p><p> 'email' => $request->input('email'),</p><p> 'password' => $request->input('password'),</p><p> // 'level' => 1</p><p> ], $request->input('remember'))) {</p><p> return redirect('/');</p><p> } else {</p><p> return redirect('/login')->with('error', 'Email or password wrong!');</p><p> }</p><p> }else{</p><p> return redirect('/login')->with('error', 'Email or password wrong!');</p><p> }</p><p> </p><p> }</p><p></p><p> /**</p><p> * Show the form for creating a new resource.</p><p> *</p><p> * @return \Illuminate\Http\Response</p><p> */</p><p> public function logout()</p><p> {</p><p> Auth::logout();</p><p> return redirect('/login');</p><p> }</p><p></p><p> //Google login</p><p> public function redirectGoogle()</p><p> {</p><p> return Socialite::driver('google')->redirect();</p><p> }</p><p></p><p> public function handleGoogleCallback()</p><p> {</p><p> $googleUser = Socialite::driver('google')->user();</p><p> //All providers...</p><p> // $googleUser->getId();</p><p> // $googleUser->getNickname();</p><p> // $googleUser->getName();</p><p> // $googleUser->getEmail();</p><p> // $googleUser->getAvatar());</p><p></p><p> //return home after login</p><p> try {</p><p> $existUser = Users::where('email', $googleUser->email)->first();</p><p> if ($existUser) {</p><p> Auth::loginUsingId($existUser->id);</p><p> } else {</p><p> return redirect('/login')->with('error', 'Email not exits!');</p><p> // $user = new User;</p><p> // $user->name = $googleUser->name;</p><p> // $user->email = $googleUser->email;</p><p> // $user->password = md5(rand(1,10000));</p><p> // $user->save();</p><p> // Auth::loginUsingId($user->id);</p><p> }</p><p> return redirect()->to('/');</p><p> } catch (Exception $e) {</p><p> return $e;</p><p> }</p><p> }</p><p></p><p> /**</p><p> * Show the form for creating a new resource.</p><p> *</p><p> * @return \Illuminate\Http\Response</p><p> */</p><p> public function edit()</p><p> {</p><p> //Auth::logout();</p><p> $auth = Auth::user();</p><p> $teams = $this->userRepository->getAllTeams();</p><p> // dd($auth);</p><p> return view('admin.auth.edit', [</p><p> 'title' => 'Edit profile',</p><p> 'auth' => $auth,</p><p> 'teams' => $teams,</p><p> ]);</p><p> }</p><p></p><p> /**</p><p> * Store a newly created resource in storage.</p><p> *</p><p> * @param \Illuminate\Http\UpdateAuthRequestRequest $request</p><p> * @return \Illuminate\Http\Response</p><p> */</p><p> public function update(UpdateAuthRequest $request)</p><p> {</p><p> $data = $request->all();</p><p> //check have password and have checkbox</p><p> if(isset($data['password']) && $request->editPassword == 'on') {</p><p> $data = $request->only(['name','password']);</p><p> $data['password'] = bcrypt($data['password']);</p><p> } else {</p><p> $data = $request->only(['name']);</p><p> }</p><p> $userID = Auth::user()->id;</p><p> $auth = $this->userRepository->find($userID);</p><p> if($auth){</p><p> $auth_detail = $this->userRepository->update($userID, $data);</p><p> if ($auth_detail) {</p><p> return redirect()->back()->with('success', 'Update user detail Success!');</p><p> } else {</p><p> return redirect()->back()->with('error', 'Update user detail has something wrong!!');</p><p> }</p><p> }</p><p> else{</p><p> return redirect()->back()->with('error', 'user not found!');</p><p> } </p><p> }</p><p>}</p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="administrator, post: 69, member: 1"] View more: [URL]https://laravel.com/docs/9.x/socialite[/URL] 1. Create api google: [URL unfurl="true"]https://console.cloud.google.com/apis/dashboard?pli=1&project=get-gmail-to-sql[/URL] 2. Create OAuth client ID - Select Web Application - Name - Link callback: [URL='https://demo/gmail/oauth/gmail/callback']https://demo.com/gmail/oauth/gmail/callback[/URL] [ATTACH type="full" alt="1659412229430.png"]14[/ATTACH] 4. Save file to env GOOGLE_CLIENT_ID="10192090312319-sqt71csp05s9hrhgnul3f93finme0cg3.apps.googleusercontent.com" GOOGLE_CLIENT_SECRET="GOCSPX-2L9X0bHlYz0123123U8Yr123123" GOOGLE_REDIRECT_URL="http://localhost:8080/login/google/callback" 5. Edit file AuthController.php: [CODE]<?php namespace App\Http\Controllers\Admin\Auth; use App\Http\Controllers\Controller; use App\Models\Users; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Laravel\Socialite\Facades\Socialite; use Exception; use App\Repositories\UserRepositoryInterface; use App\Http\Requests\UpdateAuthRequest; class AuthController extends Controller { /** * @var UserRepositoryInterface|\App\Repositories\Repository */ public function __construct(UserRepositoryInterface $userRepository) { $this->userRepository = $userRepository; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function getlogin() { // $user = new \App\Models\User; // $user->name = 'admin'; // $user->email = 'admin@admin.com'; // $user->password = \Hash::make('123456'); // $user->save(); return view('admin/users/login', [ 'title' => 'Login', ]); } public function postLogin(Request $request) { $this->validate($request, [ 'email' => 'required|email:filter', 'password' => 'required' ]); $user = $this->userRepository->findUserByEmail($request->input('email')); if($user && $user->isActive){ if (Auth::attempt([ 'email' => $request->input('email'), 'password' => $request->input('password'), // 'level' => 1 ], $request->input('remember'))) { return redirect('/'); } else { return redirect('/login')->with('error', 'Email or password wrong!'); } }else{ return redirect('/login')->with('error', 'Email or password wrong!'); } } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function logout() { Auth::logout(); return redirect('/login'); } //Google login public function redirectGoogle() { return Socialite::driver('google')->redirect(); } public function handleGoogleCallback() { $googleUser = Socialite::driver('google')->user(); //All providers... // $googleUser->getId(); // $googleUser->getNickname(); // $googleUser->getName(); // $googleUser->getEmail(); // $googleUser->getAvatar()); //return home after login try { $existUser = Users::where('email', $googleUser->email)->first(); if ($existUser) { Auth::loginUsingId($existUser->id); } else { return redirect('/login')->with('error', 'Email not exits!'); // $user = new User; // $user->name = $googleUser->name; // $user->email = $googleUser->email; // $user->password = md5(rand(1,10000)); // $user->save(); // Auth::loginUsingId($user->id); } return redirect()->to('/'); } catch (Exception $e) { return $e; } } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function edit() { //Auth::logout(); $auth = Auth::user(); $teams = $this->userRepository->getAllTeams(); // dd($auth); return view('admin.auth.edit', [ 'title' => 'Edit profile', 'auth' => $auth, 'teams' => $teams, ]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\UpdateAuthRequestRequest $request * @return \Illuminate\Http\Response */ public function update(UpdateAuthRequest $request) { $data = $request->all(); //check have password and have checkbox if(isset($data['password']) && $request->editPassword == 'on') { $data = $request->only(['name','password']); $data['password'] = bcrypt($data['password']); } else { $data = $request->only(['name']); } $userID = Auth::user()->id; $auth = $this->userRepository->find($userID); if($auth){ $auth_detail = $this->userRepository->update($userID, $data); if ($auth_detail) { return redirect()->back()->with('success', 'Update user detail Success!'); } else { return redirect()->back()->with('error', 'Update user detail has something wrong!!'); } } else{ return redirect()->back()->with('error', 'user not found!'); } } } [/CODE] [/QUOTE]
Mã xác nhận
Tên miền của diễn đàn (diendan.websitecuatoi.com)
Trả lời
Home
Trang nhất
Design & Seo website
PHP & MySQL
Laravel
Login gmail, get API google
Bên trên
Bottom