nanicas / auth
此软件包最新版本(dev-main)没有可用的许可信息。
身份认证管理器
dev-main
2024-05-09 20:37 UTC
Requires
- guzzlehttp/guzzle: ^7.8
This package is not auto-updated.
Last update: 2024-09-26 22:42:24 UTC
README
注意:以下所有命令均应在您的项目主目录中执行。
安装依赖项
composer require nanicas/auth:dev-main
在 .env 中配置客户端和密钥
return [ 'AUTHENTICATION_OAUTH_CLIENT_ID' => env('NANICAS_AUTHENTICATION_OAUTH_CLIENT_ID'), 'AUTHENTICATION_OAUTH_CLIENT_SECRET' => env('NANICAS_AUTHENTICATION_OAUTH_CLIENT_SECRET'), 'AUTHENTICATION_CLIENT_ID' => env('NANICAS_AUTHENTICATION_CLIENT_ID'), 'AUTHENTICATION_CLIENT_SECRET' => env('NANICAS_AUTHENTICATION_CLIENT_SECRET'), 'AUTHENTICATION_API_URL' => env('NANICAS_AUTHENTICATION_API_URL'), 'AUTHENTICATION_PERSONAL_TOKEN' => env('NANICAS_AUTHENTICATION_PERSONAL_TOKEN'), 'PAINEL_API_URL' => env('NANICAS_PAINEL_API_URL'), 'PAINEL_PERSONAL_TOKEN' => env('NANICAS_PAINEL_PERSONAL_TOKEN'), 'AUTHORIZATION_API_URL' => env('NANICAS_AUTHORIZATION_API_URL'), 'AUTHORIZATION_PERSONAL_TOKEN' => env('NANICAS_AUTHORIZATION_PERSONAL_TOKEN'), 'SESSION_AUTH_KEY' => 'nanicas_auth', 'SESSION_CLIENT_AUTH_KEY' => 'nanicas_client_auth', 'DEFAULT_PERSONAL_TOKEN_MODEL' => Nanicas\Auth\Frameworks\Laravel\Models\PersonalToken::class, ];
在 config/app.php 中添加提供者
'providers' => [ \Nanicas\Auth\Frameworks\Laravel\Providers\AppServiceProvider::class, \Nanicas\Auth\Frameworks\Laravel\Providers\BootstrapServiceProvider::class, \Nanicas\Auth\Frameworks\Laravel\Providers\AuthServiceProvider::class, ],
在 config/auth.php 中更改守卫和提供者
'guards' => [ 'web' => [ 'driver' => 'custom_session', 'provider' => 'custom', ], 'api' => [ 'driver' => 'token', 'provider' => 'custom_token', ], ],
'providers' => [ 'custom' => [ 'driver' => 'custom_session', 'model' => App\Models\User::class, ], 'custom_token' => [ 'driver' => 'custom_token', 'model' => App\Models\User::class, ], ],
在 app/Http/Kernel.php 中为中间件添加别名
'auth_oauth.nanicas' => \Nanicas\Auth\Frameworks\Laravel\Http\Middleware\Authenticate::class, 'auth_client.nanicas' => \Nanicas\Auth\Frameworks\Laravel\Http\Middleware\AuthenticateClient::class, 'auth_personal.nanicas' => \Nanicas\Auth\Frameworks\Laravel\Http\Middleware\ValidatePersonalToken::class,
执行配置文件发布命令
php artisan vendor:publish --tag="nanicas_auth:config"
执行命令后,请检查 config 目录(根目录)以确认文件是否已传输
nanicas_auth.php
在表示您的认证用户的模型中“fillable”中添加ID列
namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { protected $fillable = [ 'id', // It is necessary because Auth API returns this attribute