michalsn/codeigniter-passage
最新稳定版本:v1.0.0
Composer 安装命令:
composer require michalsn/codeigniter-passage
包简介
Passage integration for the CodeIgniter 4 framework
README 文档
README
Basic integration for Passage - passwordless authentication powered by passkeys.
Installation
Composer
composer require michalsn/codeigniter-passage
Manually
In the example below we will assume, that files from this project will be located in app/ThirdParty/passage directory.
Download this project and then enable it by editing the app/Config/Autoload.php file and adding the Michalsn\CodeIgniterPassage namespace to the $psr4 array, like in the below example:
<?php namespace Config; use CodeIgniter\Config\AutoloadConfig; class Autoload extends AutoloadConfig { // ... public $psr4 = [ APP_NAMESPACE => APPPATH, // For custom app namespace 'Config' => APPPATH . 'Config', 'Michalsn\CodeIgniterPassage' => APPPATH . 'ThirdParty/passage/src', ]; // ...
Also add the required helper to the same file under $files array:
// ... public $files = [ APPPATH . 'ThirdParty/passage/src/Common.php', ]; // ...
Configuration
- Follow the quickstart
- Create an app in the Passage Console
php spark passage:publish- to copy config file to theAppnamespace- Fill the config variables or use .env file
- Add a Passage Element to your frontend
- You can use
passageStatelessfilter as your middleware implementation
Helper functions
passageAppId()will return your AppIdpassageId()will return your user id (if you're usingpassageStatelessfilter), you can also set this yourself via:passageId($userId)
Example
<?php namespace App\Controllers; use Michalsn\CodeIgniterPassage\Exceptions\PassageException; class Home extends BaseController { public function index() { try { $passage = service('passage'); $userId = $passage->authenticateRequest($this->request); $data = ['user' => $passage->user->get($userId)]; } catch (PassageException $e) { return $this->response->setHeader(401)->setBody('401 Unauthorized'); } return view('home/index', $data); } }
michalsn/codeigniter-passage 适用场景与选型建议
michalsn/codeigniter-passage 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10 次下载、GitHub Stars 达 2, 最近一次更新时间为 2023 年 07 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「codeigniter」 「Passage」 「codeigniter4」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 michalsn/codeigniter-passage 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 michalsn/codeigniter-passage 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 michalsn/codeigniter-passage 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The CodeIgniter Redis package
Parse verse textual representation into book/chapter/verse ranges
Sign in with Passage OAuth 2.0 Client Provider for The PHP League OAuth2-Client
JSON Web Token for codeigniter4 authentication.
Fast, Efficient permission system for controlling access to your website resources
统计信息
- 总下载量: 10
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-07-23