ecmxperts/lumenoauth2

EcmXperts LumenOauth2 包

0.3.2 2021-07-07 09:47 UTC

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();