dev-master
9999999-devUse WordPress for authentication, user managment in laravel app
GPLv2+
The Requires
by Josh Pollock
0.2.0
0.2.0.0Use WordPress for authentication, user managment in laravel app
GPLv2+
The Requires
by Josh Pollock
Wallogit.com
2017 © Pedro Peláez
Use WordPress for authentication, user managment in laravel app
Use a WordPress site as the authentication provider for a Laravel app., (*1)
Also can act as a WordPress REST API client., (*2)
This library could use other authentication systems but only JWT is implimented., (*3)
Config, (*4)
WPUSERWPURL in your .env/wp-json/ (or whatever) you use WITH trailing slash.Add a login route, for example, (*5)
Route::post('/wp-login', function( \calderawp\WPUser\JWTAuthenticator $authenticator, \Illuminate\Http\Request $request ){
if( $request->has( 'username' ) && $request->has( 'password' ) ){
if( $authenticator->login( $request->input( 'username'), $request->input( 'password' ) ) ){
$user = \calderawp\WPUser\Model\Model::fromAuth( $authenticator );
}
//return an error;
}
});
NOTES: * This uses a User Model from the package. No migration is provided to save. * You could save the WP User in database, with token., (*6)
//SUPER IMPORTANT to use a trialing slash after wp-json
$wpApiUrl = 'https://roysivan.com/wp-json/';
$authClient = \calderawp\WPUser\Factory::jwtAuthenticator( $wpApiUrl, [
//args to pass to constructor of GuzzleHttp\Client
] );
//BTW- in local testing, might want to set verify false
// $authClient = \calderawp\WPUser\Factory::jwtAuthenticator( $wpApiUrl, [ 'verify' => false ] );
//authenticate
if( $authClient->login( 'josh', '12345' ) ){
$api = \calderawp\WPUser\Factory::jwtAuthenitcated( $wpApiUrl, $authClient->getUser(),
[
//args to pass to constructor of GuzzleHttp\Client
]
);
$me = $api->me();
}
Copyright 2017 CalderaWP LLC. Licensed under the terms of the GNU GPL V2+. Please share with your neighbor., (*7)
Use WordPress for authentication, user managment in laravel app
GPLv2+
Use WordPress for authentication, user managment in laravel app
GPLv2+