Filament Socialite 项目教程

Filament Socialite 项目教程

filament-socialite Add OAuth login through Laravel Socialite to Filament. filament-socialite 项目地址: https://gitcode.com/gh_mirrors/fi/filament-socialite

1. 项目目录结构及介绍

Filament Socialite 项目的目录结构如下:

filament-socialite/
├── app/
│   ├── Http/
│   │   └── Controllers/
│   │       └── SocialiteController.php
│   └── Providers/
│       └── Filament/
│           └── AdminPanelProvider.php
├── config/
│   └── services.php
├── database/
│   └── migrations/
│       └── XXXX_XX_XX_XXXXXX_add_google_id_column_to_users_table.php
├── resources/
│   └── views/
│       └── auth/
│           └── socialite/
│               └── google.blade.php
├── routes/
│   └── web.php
├── src/
│   ├── FilamentSocialitePlugin.php
│   └── ...
├── tests/
│   └── ...
├── .editorconfig
├── .gitattributes
├── .gitignore
├── composer.json
├── phpunit.xml
├── README.md
└── ...

目录结构介绍

  • app/: 包含应用程序的核心代码,如控制器、服务提供者等。
    • Http/Controllers/: 存放控制器文件,如 SocialiteController.php
    • Providers/Filament/: 存放服务提供者文件,如 AdminPanelProvider.php
  • config/: 存放配置文件,如 services.php
  • database/migrations/: 存放数据库迁移文件,如 add_google_id_column_to_users_table.php
  • resources/views/: 存放视图文件,如 google.blade.php
  • routes/: 存放路由文件,如 web.php
  • src/: 存放项目的主要源代码,如插件类 FilamentSocialitePlugin.php
  • tests/: 存放测试文件。
  • .editorconfig: 编辑器配置文件。
  • .gitattributes: Git 属性配置文件。
  • .gitignore: Git 忽略文件配置。
  • composer.json: Composer 依赖管理文件。
  • phpunit.xml: PHPUnit 配置文件。
  • README.md: 项目说明文件。

2. 项目的启动文件介绍

app/Http/Controllers/SocialiteController.php

该文件是处理 OAuth 登录流程的控制器。主要功能包括:

  • redirect(): 重定向用户到 OAuth 提供者的登录页面。
  • callback(): 处理 OAuth 提供者的回调,验证用户并登录。

app/Providers/Filament/AdminPanelProvider.php

该文件是 Filament 面板的服务提供者,用于注册插件和配置面板。主要功能包括:

  • 注册 FilamentSocialitePlugin 插件。
  • 配置 OAuth 提供者的相关设置。

3. 项目的配置文件介绍

config/services.php

该文件用于配置 OAuth 提供者的相关信息,如客户端 ID、客户端密钥等。示例配置如下:

'google' => [
    'client_id' => env('GOOGLE_CLIENT_ID'),
    'client_secret' => env('GOOGLE_CLIENT_SECRET'),
    'redirect' => '/auth/google/callback',
]

.env

该文件用于存储环境变量,如 OAuth 提供者的客户端 ID 和客户端密钥。示例配置如下:

GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret

routes/web.php

该文件用于定义应用程序的路由。示例配置如下:

use App\Http\Controllers\SocialiteController;

Route::get('/auth/{provider}/redirect', [SocialiteController::class, 'redirect'])->name('socialite.redirect');
Route::get('/auth/{provider}/callback', [SocialiteController::class, 'callback'])->name('socialite.callback');

通过以上配置,项目可以实现 OAuth 登录功能,并将其集成到 Filament 面板中。

filament-socialite Add OAuth login through Laravel Socialite to Filament. filament-socialite 项目地址: https://gitcode.com/gh_mirrors/fi/filament-socialite

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郦祺嫒Amiable

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值