by Devin Yang
(This article was automatically translated.)

Published - 1 year ago ( Updated - 1 year ago )

Laravel provides quite a few useful packages, Passport is one of them,
When the website needs to set up its own OAuth2 verification host, it really saves time and effort.
This site is an example, because the front-end and back-end separation mechanism is adopted (there are two different Laravel projects), and I verify through the front-end WEB.
Basically, I have many other different projects, and they all rely on OAuth2 provided by Laravel to handle cross-domain authentication.

When I log in to the WEB at the front desk, I can log in directly by opening other projects.
For example, the posting background and chat room of this site are all authenticated by home OAuth2.

Having said so much, let’s look at the commands I most often issue as follows. In the early days, Laravel also provided WEB UI components, but it seems to be gone later, because it seems that it is unnecessary. 😅

php artisan passport:client

 Which user ID should the client be assigned to?: (Enter the user ID here)
 >9

 What should we name the client?: (The new project name will be displayed to the user when logging in. The app with this name needs to be verified. Basically, I directly AutoSubmit@@)
 > New project

 Where should we redirect the request after authorization? [https://www.ccc.tc/auth/callback]:
 > https://app.ccc.tc/auth/ccc/callback


New client created successfully.
Client ID: n 
Client secret: 

See the last screen above -, if you often build OAuth verification, you should be familiar with it, like Facebook's OAuth verification or Google's OAuth verify.
To put it bluntly, with Passport installed, we have our own OAuth2 verification host instead of using Facebook or Google.
My chat room host is a large hybrid type, which supports different verifications, and can chat after logging in.

Let me share the naming method in my .env, you will find that almost all envs are almost the same, just like new brothers...:p
ID, SECRET and CALLBACK.

#CCC OAuth
CCC_OAUTH_SERVER=https://www.ccc.tc
CCC_CLIENT_ID=
CCC_SECRET=
CCC_CALLBACK_URL=${APP_URL}/auth/ccc/callback

#Line Notify
LINE_NOTIFY_CLIENT_ID=
LINE_NOTIFY_SECRET=
LINE_NOTIFY_CALLBACK_URL=${APP_URL}/auth/line/notify/callback

#BOT
LINE_CHANNEL_ID=
LINE_CHANNEL_SECRET=
LINE_CALLBACK_URL=${APP_URL}/auth/line/callback

FACEBOOK_CLIENT_ID=
FACEBOOK_SECRET=
FACEBOOK_CALLBACK_URL=${APP_URL}/auth/facebook/callback

GITHUB_CLIENT_ID=
GITHUB_SECRET=
GITHUB_CALLBACK_URL=${APP_URL}/auth/github/callback

GOOGLE_CLIENT_ID=
GOOGLE_SECRET=
GOOGLE_CALLBACK_URL=${APP_URL}/auth/google/callback


If you also try to install Laravel's passport, the current new version of Laravel will use sanctum by default, remember to call back the api.

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});


For detailed installation and settings of Laravel Passport, please refer to the manual on the official website:
https://laravel.com/docs/9.x/passport

* 100043*

Tags: laravel oauth2

Devin Yang

Feel free to ask me, if you don't get it.:)

No Comment

Post your comment

Login is required to leave comments

Similar Stories


dlaravel

Use docker in docker to build a D-Laravel test environment.

D-Laravel is an extremely easy-to-use and extremely flexible Laravel development environment. As long as you are a Mac user, even if you don’t know Docker, you can use it to create Laravel projects and develop them. Due to the newly added .env function When it comes to functions, those who are in a hurry push, but there is no complete test, and a bunch of new bugs are created. Therefore, this time, a new dlaravel_test, a bash testing tool, is added to run the test through docker in docker. Make sure that every release of D-Laravel can be a stable version.

laravel

Laravel 5.7 new feature dump-server.

In Laravel 5.7.x, the artisan command starts to support and integrate Symfony's dump-server. Through the artisan command, start the dump-server, and we can display the dump data on the console.

docker,laravel

How to use multiple YAML files to execute multiple docker container services

This video introduces how to use the docker-compose command to specify multiple YAML structure language configuration files to create container execution, and introduces how we simplify docker-compose by using .env in the D-Laravel environment Start command.