ecmxperts / lumenoauth2
EcmXperts LumenOauth2 包
0.3.2
2021-07-07 09:47 UTC
Requires
- php: ^7.2
- guzzlehttp/guzzle: ~7.0
- guzzlehttp/psr7: ~1.7
- illuminate/auth: ^6.0
- phpseclib/phpseclib: ~2.0
This package is auto-updated.
Last update: 2024-09-13 16:09:20 UTC
README
简介
Lumen Oauth2 提供了一个简单的 API,用于通过 Openid/Oauth2 服务器对 Lumen api 进行身份验证。
安装
通过 composer
运行 composer require ecmxperts/lumenoauth2 0.*
用法
在您的 .env 文件中添加以下环境变量
IDENTITY_URL=openid/oauth2 server address
在您的 app\Providers\AuthServiceProvider.php 文件中 boot 方法内添加以下行
$this->app['auth']->viaRequest('api', function ($request) {
if (($token = $request->bearerToken()) != null) {
try {
return LumenOauth2::setProviderUrl(env('IDENTITY_URL'))
->setAudience('expected audience')
->authenticate($token);
} catch (LumenOauth2Exception $e) {
Log::error($e, ['exception' => $e]);
}
}
});
有关身份验证的其他信息,请参阅 Lumen Authentication
以下方法可用于访问已验证用户属性
- 用户的全局标识符。
$userGuid = Auth::user()->guid();
$userGuid = $request->user()->guid();
- 用户的姓。
$firstname = Auth::user()->firstname();
$firstname = $request->user()->firstname();
- 用户的姓。
$surname = Auth::user()->surname();
$surname = $request->user()->surname();
- 用户的全名。
$fullname = Auth::user()->fullname();
$fullname = $request->user()->fullname();
- 用户的全局标识符。
$tenant = Auth::user()->tenant();
$tenant = $request->user()->tenant();