iwouldrathercode / cognito
一个简单的 Laravel 扩展包,用于与 aws-php-sdk 和 Amazon Cognito 一起工作
0.0.2
2022-10-09 06:01 UTC
Requires
- php: ^8.1
- aws/aws-sdk-php: ^3.235
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.13.0
- teamgantt/juhwit: ^4.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
README
一个简单的 Laravel 扩展包,用于与 aws-php-sdk 和 Amazon Cognito 一起工作。一旦安装,它可以生成 API 路由以与 Cognito API 一起工作,并生成和验证 JWT 令牌
安装与设置
步骤 1
您可以通过 Composer 安装此包
composer require iwouldrathercode/cognito
步骤 2
运行设置命令以安装依赖项并将存储文件夹链接到公共文件夹
php artisan cognito:setup
步骤 3
运行安装命令以发布配置文件和迁移
php artisan cognito:install
步骤 4
执行迁移。这将更新用户表,由于密码不再由 Laravel 管理,因此这将删除 password_resets 表
php artisan migrate
步骤 5
更新 config/auth.php,将默认守卫设置为 api
.. .. 'defaults' => [ 'guard' => 'api', 'passwords' => 'users', ], .. ..
步骤 6
更新 config/auth.php 中的 guards 数组,使用 'cognito' 作为驱动程序配置 api
.. .. 'guards' => [ .. .. 'api' => [ 'driver' => 'cognito', 'provider' => 'users' ] ], .. ..
步骤 7
确保 Cognito 用户池和 ClientID 的环境变量在 .env 中,这将影响 config/cognito.php
配置文件
AWS_COGNITO_USER_POOL_ID= AWS_COGNITO_CLIENT_ID= AWS_DEFAULT_REGION=
使用方法
此包将创建 /api 路由以管理身份验证
POST -> api/confirm-forgot-password -> confirm-forgot-password › Iwouldrathercode\Cognito\Http\Controllers\SelfServiceController@confirmForgotPassword POST -> api/forgot-password -> forgot-password › Iwouldrathercode\Cognito\Http\Controllers\SelfServiceController@forgotPassword POST -> api/login -> signin › Iwouldrathercode\Cognito\Http\Controllers\LoginController@login POST -> api/register -> signup › Iwouldrathercode\Cognito\Http\Controllers\RegisterController@register POST -> api/verify -> verify › Iwouldrathercode\Cognito\Http\Controllers\EmailVerificationController@verify POST -> api/logout -> signout › Iwouldrathercode\Cognito\Http\Controllers\LoginController@logout
待办事项
- 创建有效的单元测试用例
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。