# Oauth **Repository Path**: jcsn/oauth ## Basic Information - **Project Name**: Oauth - **Description**: Laravel 8 搭建Oauth认证 - **Primary Language**: PHP - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-04-28 - **Last Updated**: 2026-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Oauth ### 介绍 Laravel 8 搭建Oauth认证 ### 软件架构 * PHP v8.0.2 * Elasticsearch v8.4.1 * Laravel v8.83.27 * Passport OAuth v10.4.2 ### 使用说明 重定向访问路由:http://site-url/client/redirect/4 ### 安装流程 ```php # 安装 laravel 8 - composer create-project laravel/laravel oauth 8.* # 自动引入自定义函数文件 - composer dump-autoload # 安装 Passport Oauth - composer require laravel/passport:* # 数据迁移前操作 App\Providers\AppServiceProvider public function boot(){  # 解决报错SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long Schema::defaultStringLength(191); } # 执行数据迁移 - php artisan migrate # 创建一个用于生成安全访问令牌的加密秘钥 - php artisan passport:install # 从环境中加载秘钥 - php artisan vendor:publish --tag=passport-config # 安装laravel/ui - composer require laravel/ui:* - php artisan ui vue --auth - npm install - npm run dev 2次 ``` ### 其他常用命令(待测试) - `php artisan passport:install` - 安装 Laravel Passport 并创建必要的加密密钥。 - `php artisan passport:client` - 创建一个新的 OAuth2 客户端 - 使用 `--client` 参数创建私有客户端 - 使用 `--public` 参数创建公共客户端 - 使用 `--personal` 参数创建个人访问令牌 - 使用 `--name` 参数指定客户端名称 - 使用 `--redirect-uri` 参数指定重定向 URI - `php artisan passport:keys` - 生成公钥和私钥,用于加密和解密 Access Token - `--force` 可重写 - `php artisan passport:purge` - 清除已经撤销或者过期的令牌以及授权码 - php artisan passport:purge --revoked - 只清理撤销的令牌以及授权码 - php artisan passport:purge --expired - 只清理过期的令牌以及授权码 - `php artisan passport:prune` - 删除所有已经过期的授权客户端和个人访问令牌 - `php artisan passport:scopes` - 用于管理权限范围 - `php artisan passport:token` - 用于手动刷新访问令牌 ### 参考文档 * [API登录验证场景(passport个人授权码)与 第三方登录(passport的授权码模式)](https://blog.csdn.net/wsyh12345678/article/details/124839027) * [旧城少年 码云新建oauth仓库](https://gitee.com/jcsn/oauth)