Search Results :
×WordPress OAuth & OpenID Connect Single Sign-On (SSO) plugin enables secure login into WordPress using Laravel Passport as OAuth and OpenID Connect provider. You can also configure plugin using different custom providers and standard IDPs. It supports advanced Single Sign-On (SSO) features such as user profile Attribute mapping, Role mapping, etc. Here we will go through a guide to configure SSO between WordPress and Laravel Passport. By the end of this guide, users should be able to login to WordPress from Laravel Passport. To know more about other features we provide in WP OAuth Single Sign-On ( OAuth & OpenID Connect Client ) plugin, you can click here.
composer create-project --prefer-dist laravel/laravel blog
composer require laravel/passport
Laravel\Passport\PassportServiceProvider::class
namespace App;
use Laravel\Passport\HasApiTokens;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
namespace App\Providers;
use Laravel\Passport\Passport;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
// 'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Passport::routes();
//
}
}
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
'hash' => false,
],
],
Which user ID should the client be assigned to?:
> 1
What should we name the client?
> Demo OAuth2 Client Account
Where should we redirect the request after authorization?
[http://localhost/auth/callback]
> Click Here to copy the Redirect URL.
New client created successfully.
Client ID: 1
Client secret: zMm0tQ9Cp7LbjK3QTgPy1pssoT1X0u7sg0YWUW01
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use Auth;
class UserController extends Controller
{
public function get(Request $request)
{
$user_id = Auth::id();
$user = User::find($user_id);
return $user;
}
}
//For Laravel below 8 and migrated to the 8 version:
Route::middleware('auth:api')->get('/user/get', 'UserController@get');
OR
//For Laravel 8 new users:
use App\Http\Controllers\UserController;
Route::middleware('auth:api')->get('/user/get', 'App\Http\Controllers\UserController@get');
You have successfully configured Laravel Passport as OAuth Provider for achieving Laravel Passport login into your WordPress Site.
Please refer the below table for configuring the scope & endpoints for Laravel Passport in the plugin.
Client ID : | from the step 3 above |
Client Secret : | from the step 3 above |
Authorize Endpoint: | http://your-laravel-site-url/oauth/authorize |
Access Token Endpoint: | http://your-laravel-site-url/oauth/token |
Get User Info Endpoint: | http://your-laravel-site-url/api/user/get |
You have successfully configured WordPress as OAuth Client for achieving Laravel Passport login into your WordPress Site.
Sign in settings for WordPress 5.7 and before
Sign in settings for WordPress 5.8
Sign in settings for WordPress 5.9
Mail us on oauthsupport@xecurify.com for quick guidance(via email/meeting) on your requirement and our team will help you to select the best suitable solution/plan as per your requirement.
Need Help? We are right here!
Thanks for your inquiry.
If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com
This privacy statement applies to miniorange websites describing how we handle the personal information. When you visit any website, it may store or retrieve the information on your browser, mostly in the form of the cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not directly identify you, but it can give you a more personalized web experience. Click on the category headings to check how we handle the cookies. For the privacy statement of our solutions you can refer to the privacy policy.
Necessary cookies help make a website fully usable by enabling the basic functions like site navigation, logging in, filling forms, etc. The cookies used for the functionality do not store any personal identifiable information. However, some parts of the website will not work properly without the cookies.
These cookies only collect aggregated information about the traffic of the website including - visitors, sources, page clicks and views, etc. This allows us to know more about our most and least popular pages along with users' interaction on the actionable elements and hence letting us improve the performance of our website as well as our services.