Share Laravel Passport Pitfall Diary
The following is the Laravel tutorial column to share with you the Laravel Passport pit diary, I hope it will be helpful to friends in need!
Most previous projects used DingoAPI JWT-auth to implement API authentication. Although Laravel released Passport very early, it has not paid much attention to it.
I played Passport today. Although I encountered a lot of pitfalls, it is still very easy to use~
Pit 1: I only want to obtain it through the account password## for the time being. #token
# Passport comes with many routes when it is born. . But, most of these things are really useless to me. Solution:
Redefine it in your
AuthServiceProvider:
Passport::routes(function (RouteRegistrar $router) { $router->forAccessTokens(); }, ['prefix' => 'api']);
Pit 2 : How to manually generate Token when registering an account?
jwt-auth’s JWTAuth::fromUser($user); can be easily generated
token, but there seems to be no ready-made method in Passport.
Solution:
After registering the account, actively request
oauth/token
public function register(Request $request) { $validator = $this->validator($request->all()); if ($validator->fails()){ return response()->json($validator->errors()); } event(new Registered($user = $this->create($request->all()))); $client = \DB::table('oauth_clients')->where('password_client', 1)->first(); $request->request->add([ 'username' => $user->email, 'password' => $request->password, 'grant_type' => 'password', 'client_id' => $client->id, 'client_secret' => $client->secret, 'scope' => '*' ]); $proxy = Request::create( 'oauth/token', 'POST' ); return Route::dispatch($proxy); }
{ "token_type": "Bearer", "expires_in": 1296000, "access_token": "xxx", "refresh_token": "xxx" }
Pit 3: I want to use my mobile phone number to log in
Passport actually provides an interface for dynamically modifying user login, but it is not written out in the documentSolution:
Add the following method to your User Model
public function findForPassport($login) { return User::orWhere('email', $login)->orWhere('mobile', $login)->first(); }
Pit 4: When using the wrong token, passport will always jump to the login method
Check the source code and find that passport uses web
auth middleware, no wonder
Add
Accept: in your request header application/json, problem solving
For example:
The above is the detailed content of Share Laravel Passport Pitfall Diary. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Laravel - Artisan Commands - Laravel 5.7 comes with new way of treating and testing new commands. It includes a new feature of testing artisan commands and the demonstration is mentioned below ?

Laravel - Pagination Customizations - Laravel includes a feature of pagination which helps a user or a developer to include a pagination feature. Laravel paginator is integrated with the query builder and Eloquent ORM. The paginate method automatical

Method for obtaining the return code when Laravel email sending fails. When using Laravel to develop applications, you often encounter situations where you need to send verification codes. And in reality...

Laravel schedule task run unresponsive troubleshooting When using Laravel's schedule task scheduling, many developers will encounter this problem: schedule:run...

The method of handling Laravel's email failure to send verification code is to use Laravel...

How to implement the table function of custom click to add data in dcatadmin (laravel-admin) When using dcat...

Laravel - Dump Server - Laravel dump server comes with the version of Laravel 5.7. The previous versions do not include any dump server. Dump server will be a development dependency in laravel/laravel composer file.

The impact of sharing of Redis connections in Laravel framework and select methods When using Laravel framework and Redis, developers may encounter a problem: through configuration...
