Package Data | |
---|---|
Maintainer Username: | Shelob9 |
Maintainer Contact: | Josh@calderawp.com (Josh Pollock) |
Package Create Date: | 2017-06-23 |
Package Last Update: | 2019-09-25 |
Home Page: | |
Language: | PHP |
License: | GPLv2+ |
Last Refreshed: | 2025-02-06 03:01:14 |
Package Statistics | |
---|---|
Total Downloads: | 149 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 19 |
Total Watchers: | 6 |
Total Forks: | 2 |
Total Open Issues: | 0 |
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
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:
//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.