bildvitta / iss-sdk
This package is used to communicate with the permission and authentication microservice.
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Requires
- php: ^8.0|^8.1|^8.2|^8.3
- ably/ably-php: ^1.1
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0|^12.0
- spatie/laravel-permission: ^4.0|^5.0|^6.0
Requires (Dev)
- laravel/pint: ^1.13
- phpunit/phpunit: ^9.0|^10.0
This package is auto-updated.
Last update: 2026-06-11 17:06:32 UTC
README
Pacote Laravel privado para integrar a aplicação ao Hub de autenticação, permissões, usuários, empresas e notificações.
Visão geral
- Consome o Hub via
Illuminate\Http\Client. - Registra o facade
hube os middlewareshub.auth,hub.checkehub.programmatic. - Inclui o trait
HasCompanyLinkspara o modelUser. - Inclui o
PermissionScopepara filtros por permissão.
Requisitos
- PHP
^8.0até^8.3 - Laravel compatível com
illuminate/contracts^8até^12 spatie/laravel-permissionably/ably-phppara notificações
Acesso a repositórios privados
Este pacote é distribuído como repositório privado via VCS. Nos projetos Laravel consumidores, adicione o repositório no composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/appnave/nave-sdk-iss"
}
]
}
Depois, instale o pacote normalmente:
composer require appnave/nave-sdk-iss
Se o Composer precisar de autenticação para acessar o GitHub, configure um token localmente:
composer config -g github-oauth.github.com <SEU_TOKEN>
No GitHub Actions, exponha o token como secret e passe COMPOSER_AUTH:
env: COMPOSER_AUTH: > {"github-oauth":{"github.com":"${{ secrets.COMPOSER_GITHUB_TOKEN }}"}}
Instalação local
composer require appnave/nave-sdk-iss php artisan hub:install
Esse comando publica config/hub.php, pode publicar as migrations do Spatie e executa migrate.
Variáveis mais usadas:
MS_HUB_BASE_URI="https://hub-server.nave.dev.br" MS_HUB_FRONT_URI="https://hub.nave.dev.br" MS_HUB_API_PREFIX="/api" MS_HUB_API_VERSION="1" HUB_PROGRAMMATIC_CLIENT= HUB_PROGRAMMATIC_SECRET= HUB_CLIENT_ID= HUB_CLIENT_SECRET= HUB_REDIRECT_URI= HUB_SCOPE=profile MS_HUB_DB_HOST= MS_HUB_DB_PORT= MS_HUB_DB_DATABASE= MS_HUB_DB_USERNAME= MS_HUB_DB_PASSWORD=
Se for usar notificações:
ABLY_KEY= BROADCAST_CONNECTION=ably
Comandos úteis
php artisan hub:install
php artisan hub:clean-permissions
composer check-style
composer fix-style
php artisan vendor:publish --provider="BildVitta\Hub\HubServiceProvider" --tag=hub-config
Documentação da API
Não há Swagger/OpenAPI neste repositório.
As rotas publicadas pelo pacote estão em routes/api.php:
GET /api/auth/loginGET /api/auth/callbackGET /api/auth/logoutGET /api/auth/refreshGET /api/users/mePATCH /api/users/meGET /api/users/me/editGET /api/users/me/notificationsPATCH /api/users/me/notifications
Convenções do projeto
- Em
config/permission.php, use os models\BildVitta\Hub\Entities\HubPermissione\BildVitta\Hub\Entities\HubRolequando precisar alinhar o Spatie ao Hub. - No model
User, adicione\BildVitta\Hub\Traits\User\HasCompanyLinks; o trait já incluiHasRoles. - Use o middleware
hub.authpara autenticação do token e criação do usuário local quando necessário. - Use o middleware
hub.checknas rotas que exigem token válido. - Use o middleware
hub.programmaticquando a aplicação precisar obter token via client credentials. - Para filtros por permissão em queries, use
\BildVitta\Hub\Scopes\PermissionScope. - Para notificações privadas, habilite o
BroadcastServiceProvider, configure o canalnotifications.{uuid}emroutes/channels.phpe useBroadcast::routes(['middleware' => ['hub.check'], 'prefix' => 'api']);. - A fonte de verdade para
base_uri,front_uri,prefixe credenciais está emconfig/hub.php.