by Devin Yang
(This article was automatically translated.)

Published - 3 years ago ( Updated - 3 years 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

How to set the external network IP to the Project on D-Laravel?

This video introduces how we assign Public Ip (public IP) to a specific Project in the D-Laravel environment. Whether it is the setting of the external production environment or the demo of your own project on the intranet, you can refer to the setting method of this video. In the video, although I used the external network IP of PPPoE dial-up to illustrate, we can also use the local network IP on our own computer if we change it. In this way, colleagues can connect to our D-Laravel Project.

dlaravel

How to start supervisor on D-Laravel

Since queue workers are a long-running program, we need a program manager supervisor to monitor whether the process on the Linux system is running continuously. For example, when the queue:work operation fails, the queue:work process can be automatically restarted. Fortunately, D-Laravel has a built-in supervisor, so you don't need to install it yourself to use it. This article briefly introduces how we start the supervisor in the container.

laravel

Facebook test user

Is there anyone who uses OAuth for website user login like me? There is a "test user" on the Facebook developer page. It can be used to test whether the function of Facebook is normal, Because when the website moved to Google’s GCE, for some reason, I actually posted one more in the $fillable array of Laravel’s User model~, Normally the program works fine, but when a new user logs in, an error is shown to you. I keep hearing people say that I can't log in to this website to leave a message. I want to say that I am very normal. @@ After using the test user test today, ha, I found that the login function on my website has been broken for a long time.