rwandabuild / murugo_api_auth
使用Murugo认证的包,仅使用API结构即可用于所有第三方Laravel项目
v2.6.2
2023-10-09 08:16 UTC
- dev-test
- v2.6.2
- v2.6.1
- v2.6.0
- v2.5.9
- v2.5.8
- v2.5.7
- v2.5.6
- v2.5.1
- v2.5
- v2.4.2
- v2.4.1
- v2.4
- v2.3
- v2.2
- v2.1
- v2.0
- v1.42
- v1.41
- v1.40
- v1.39
- v1.38
- v1.37
- v1.36
- v1.35
- v1.34
- v1.32
- v1.31
- v1.30
- v1.29
- v1.28
- v1.27
- v1.26
- v1.25
- v1.24
- v1.23
- v1.22
- v1.21
- v1.20
- v1.19
- v1.18
- v1.17
- v1.16
- v1.15
- v1.14
- v1.13
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- v1.6
- v1.5
- v1.4
- v1.3
- v1.2
- v1.1
- v1.0
- dev-master
- dev-ft-redirection
- dev-ft-error
- dev-ft-murugo-state
- dev-ft-state
- dev-ft-support-dynamic-redirect-urls
- dev-ft-support-custom-password-grant
- dev-ft-support-invite-service
- dev-fix-deprecated-package
This package is auto-updated.
Last update: 2024-09-09 10:39:09 UTC
README
使用此包进行Murugo认证,仅使用API结构即可用于所有第三方Laravel项目
按照以下步骤开始使用
1. 通过以下命令安装包
composer require rwandabuild/murugo_api_auth
2. 在配置服务文件中包含以下变量
'murugo' => [ 'client_id' => env('MURUGO_CLIENT_ID'), 'client_secret' => env('MURUGO_CLIENT_SECRET'), 'redirect' => env('APP_REDIRECT_URL', 'YOUR LOGIN REDIRECT URL'), 'murugo_url' => env('MURUGO_URL', 'MURUGO_URL'), 'murugo_app_key' => env('MURUGO_APP_KEY'), ],
3. 当您想升级时,不要忘记通过以下命令发布您的迁移
php artisan vendor:publish
4. 使用以下迁移
php artisan migrate
5. 添加方法将用户重定向到Murugo
use RwandaBuild\MurugoAuth\Facades\MurugoAuth; public function redirectToMurugo() { return MurugoAuth::redirect(); }
6. 添加回调方法用于重定向后使用
use RwandaBuild\MurugoAuth\Facades\MurugoAuth; public function murugoCallback() { $murugoUser = MurugoAuth::user() }
7. 包还提供了以下方法
/** * This one is used by client(mobile) to authenticate murugo users on their 3rd party servers */ use RwandaBuild\MurugoAuth\Facades\MurugoAuth; $tokens = [ 'access_token' => 'murugo_user_access_token'], 'refresh_token' => 'murugo_user_refresh_token', 'expires_in' => integer ], $murugoUser = MurugoAuth::userFromToken($tokens);
8. 添加用户和Murugo用户模型之间的关系
- 包中已经内置了一个特质,用于在用户模型和Murugo用户模型之间建立关系
use RwandaBuild\MurugoAuth\Traits\MurugoAuthHelper; class User extends Authenticatable { use MurugoAuthHelper; }
- 要访问Murugo用户,当您已经有如下用户模型时
$user = User::find(1); // access the relationship $murugoUser = $user->murugoUser;
- 当您有一个Murugo用户模型,并且需要获取相关用户时,可以按照以下方式操作
$murugoUser = MurugoAuth::user(); // accessing the related user $user = $murugoUser->user;
注意:默认情况下,包使用App\User模型或App\Models|user来建立您与Murugo用户模型之间的关系
9. 在此步骤中,这是刷新令牌的方式
首先,您应该知道Murugo用户模型保留了access_token
、refresh_token
和token_expires_at
,现在,如果您需要刷新现有令牌,只需按照以下方式操作
$user = User::find(2); // refreshing murugo user token $murugoUser = MurugoAuth::refreshToken($user->murugoUser);
默认情况下,包将添加以下API路由到您的Laravel项目中
- api/murugo-auth >>> 此路由将用于获取Murugo发送的响应并将其保存到您的Laravel项目数据库中
- api/authenticate-user >>> 此路由将通过检查用户的uuid和令牌的有效性来认证用户,如果为真,则返回用户对象
- api/logout >>> 此路由将使Murugo服务器上的用户注销