shahriaramin / auth-sdk-supporting-api
Auth SDK 包库支持的API
1.0.0
2024-09-05 04:30 UTC
Requires
- php: ^8.2
- laravel/framework: ^11.9
- laravel/socialite: ^5.15
- laravel/tinker: ^2.9
- tymon/jwt-auth: ^2.1
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pint: ^1.13
- laravel/sail: ^1.26
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- phpunit/phpunit: ^11.0.1
README
项目标题
Auth SDK支持的API
项目描述
此API通过提供用户认证、令牌管理、OAuth集成和角色管理的必要后端服务来支持Auth SDK。它使用Laravel构建,旨在处理用户认证的各个方面,包括JWT令牌的生成和验证、处理OAuth提供者交互以及管理用户角色。
目录
项目概述
Auth SDK支持的API为用户认证、角色管理和OAuth集成提供了必要的后端服务。该API基于Laravel框架构建,确保安全地处理用户数据和令牌。它包括各种服务和组件,旨在与Auth SDK无缝协作。
关键组件
-
OAuthService
- 处理与OAuth相关的功能,包括重定向到提供者、处理提供者回调和管理OAuth令牌。
-
AuthProviderInterface
- 定义了认证提供者的标准化契约,确保在不同提供者之间保持一致的方法。
-
ExceptionHandler
- 对API进行集中异常处理,确保一致的、信息丰富的错误响应。
-
用户注册
- 管理新用户账户的创建,包括验证和错误处理。
-
用户登录
- 认证用户,生成JWT访问和刷新令牌,并处理认证错误。
-
令牌刷新
- 允许用户使用有效的刷新令牌刷新其访问令牌。
-
角色管理
- 促进用户角色的创建和管理,包括适当的验证和错误处理。
-
用户
- 代表用户实体,包括用户管理所需的基本属性和关系。
-
UserToken
- 管理用户令牌,包括生成、存储、更新和刷新。
设置说明
按照以下步骤设置和运行支持API
安装依赖项
使用Composer安装所需的PHP依赖项
composer install
配置环境变量
从提供的示例创建新的.env
文件
cp .env.example .env
编辑.env
文件以包含特定的配置设置,例如数据库凭据和API密钥。
生成应用程序密钥
为Laravel应用程序生成唯一的应用程序密钥
php artisan key:generate
运行数据库迁移
通过运行必要的迁移设置数据库
php artisan migrate
启动API服务器
启动服务器以使API可用
php artisan serve
API将在https://:8000
或指定的基本URL上可用。
API端点
认证端点
- POST /register:注册新用户。
- POST /login:认证用户并返回JWT令牌。
- POST /add-user-role:向用户添加角色(需要管理员访问权限)。
- POST /auth/refresh:使用有效的刷新令牌刷新访问令牌。
OAuth端点
- POST /oauth/refresh:使用有效的OAuth刷新令牌刷新访问令牌。
- GET /auth/{provider}:重定向到OAuth提供者进行认证。
- GET /auth/{provider}/callback:处理来自OAuth提供者的回调。
结论
Auth SDK的辅助API提供了一种强大且安全的后端解决方案,用于管理用户身份验证、令牌处理和OAuth集成。按照设置说明操作,您可以快速部署并利用此API来处理应用中的各种身份验证和授权场景。如有任何疑问或问题,请参考文档或联系维护者以获取支持。