Name: laravel-wp-user
Owner: Caldera Labs
Description: [WIP]Use a WordPress site as the authentication provider for a Laravel app.
Created: 2017-06-23 22:34:08.0
Updated: 2018-04-07 14:05:23.0
Pushed: 2017-07-06 15:24:11.0
Size: 11
Language: PHP
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Use a WordPress site as the authentication provider for a Laravel app.
Also can act as a WordPress REST API client.
This library could use other authentication systems but only JWT is implimented.
Config
Publish config and set url for WordPress site or use WPUSERWPURL
in your .env
URL must include /wp-json/
(or whatever) you use WITH trailing slash.
Add a login route, for example
e::post('/wp-login', function( \calderawp\WPUser\JWTAuthenticator $authenticator, \Illuminate\Http\Request $request ){
$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:
//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.