famgia / omnify-sso-client
SSO Client Package for Laravel - Provides Role, Permission and RolePermission models with Omnify schema-driven development
v1.0.0
2026-01-15 15:01 UTC
Requires
- php: ^8.2
- illuminate/database: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0
- phpunit/phpunit: ^11.0
README
Laravel package for Role-based Access Control (RBAC) with Omnify schema-driven development.
Installation
composer require famgia/omnify-sso-client
Laravel will auto-discover the service provider.
Usage
Models
use Omnify\SsoClient\Models\Permission; use Omnify\SsoClient\Models\Role; use Omnify\SsoClient\Models\RolePermission; // Create a permission $permission = Permission::create([ 'name' => 'users.create', 'slug' => 'users-create', ]); // Create a role $role = Role::create([ 'name' => 'Admin', 'slug' => 'admin', 'description' => 'Administrator role', ]); // Assign permission to role RolePermission::create([ 'role_id' => $role->id, 'permission_id' => $permission->id, ]);
Migrations
Migrations are automatically loaded from the package. Run:
php artisan migrate
Schema-Driven Development
This package is generated using Omnify. The source schemas are in database/schemas/:
Permission.yaml- Permission modelRole.yaml- Role modelRolePermission.yaml- Pivot tableUserSsoPartial.yaml- Partial to extend User model with roles
Regenerate Models
If you modify the schemas, regenerate using:
npx omnify generate
Package Structure
omnify-sso-client/
├── composer.json
├── database/
│ ├── factories/ # Laravel factories
│ ├── migrations/ # Auto-loaded migrations
│ └── schemas/ # Omnify schema definitions
│ └── Sso/
│ ├── Permission.yaml
│ ├── Role.yaml
│ ├── RolePermission.yaml
│ └── UserSsoPartial.yaml
└── src/
├── Models/
│ ├── Generated/ # Auto-generated base classes
│ │ ├── BaseModel.php
│ │ ├── Traits/
│ │ └── Locales/
│ ├── Permission.php # User-editable model
│ ├── Role.php
│ └── RolePermission.php
└── Providers/
└── SsoClientServiceProvider.php
License
MIT