calderawp/ laravel-wp-user
使用WordPress进行认证,在Laravel应用程序中进行用户管理
0.2.0
2017-07-06 15:23 UTC
Requires
- guzzlehttp/guzzle: ^6.2
This package is auto-updated.
Last update: 2024-08-25 23:34:49 UTC
README
使用WordPress站点作为Laravel应用程序的认证提供者。
还可以作为WordPress REST API客户端。
目标和状态
- 从Laravel认证为WordPress用户 - 完成。
- 提供从Laravel查询WordPress REST API的API客户端 - 完成。
- 提供基于WordPress的中间件。 - 下一步
用法
设置WordPress
此库可以使用其他认证系统,但仅实现了JWT。
- 拥有WordPress 4.7或更高版本
- 安装JWT Authentication for the WP REST API
- 设置插件中描述的正确常量。
- 激活插件
将WordPress登录添加到您的应用程序
-
配置
- 发布配置并设置WordPress站点的URL,或在.env中使用
WPUSERWPURL - URL必须包含
/wp-json/(或您使用的任何内容),并且带有尾随斜杠。
- 发布配置并设置WordPress站点的URL,或在.env中使用
-
添加登录路由,例如
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;
}
});
注意
- 这使用该软件包中的用户模型。未提供迁移以保存。
- 您可以将WP用户与令牌一起保存在数据库中。
用户认证示例
//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();
}
许可
版权所有 2017 CalderaWP LLC。根据GNU GPL V2+的条款许可。请与您的邻居分享。