michalsn / codeigniter-kinde
CodeIgniter 4 框架的 Kinde 集成
v1.0.0
2023-07-28 06:44 UTC
Requires
- php: ^8.0
- kinde-oss/kinde-auth-php: ^1.2
Requires (Dev)
- codeigniter4/devkit: ^1.0
- codeigniter4/framework: ^4.3
- rector/rector: 0.17.7
This package is auto-updated.
Last update: 2024-09-06 04:44:30 UTC
README
为Kinde认证提供基本集成。
安装
Composer
composer require michalsn/codeigniter-kinde
手动安装
在以下示例中,我们假设该项目文件位于app/ThirdParty/kinde
目录。
下载此项目,然后通过编辑app/Config/Autoload.php
文件并添加Michalsn\CodeIgniterKinde
命名空间到$psr4
数组来启用它,如下所示:
<?php namespace Config; use CodeIgniter\Config\AutoloadConfig; class Autoload extends AutoloadConfig { // ... public $psr4 = [ APP_NAMESPACE => APPPATH, // For custom app namespace 'Config' => APPPATH . 'Config', 'Michalsn\CodeIgniterKinde' => APPPATH . 'ThirdParty/kinde/src', ]; // ...
同时,将所需的辅助函数添加到同一文件中的$files
数组下。
// ... public $files = [ APPPATH . 'ThirdParty/kinde/src/Common.php', ]; // ...
数据库
php spark migrate --all
配置
通过查看src/Config/Kinde.php
文件来了解可以设置哪些配置变量,并使用.env
文件来设置它们。
参考入门文章。
路由
登录
注册
登出
回调
文件
kinde
命令
将配置文件复制到应用命名空间。
php spark kinde:publish
辅助函数
authenticated()
将检查当前用户是否已认证can('permission')
将检查当前用户是否有权限user_id()
将返回当前用户ID(数据库)user()
或user('field')
将返回当前用户信息(数据库)kinde_user()
将返回Kinde用户数组或null
示例
<?php namespace App\Controllers; class Home extends BaseController { public function index() { if (! service('kinde')->isAuthenticated()) { return $this->response->setHeader(401)->setBody('401 Unauthorized'); } if (! can('view:home')) { return $this->response->setHeader(401)->setBody('Not enough permissions to view this page'); } return view('home/index', $data); } }