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
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- v0.2.0
- v0.1.34
- v0.1.33
- v0.1.32
- v0.1.31
- v0.1.30
- v0.1.29
- v0.1.28-beta.1
- v0.1.27
- v0.1.26
- v0.1.26-beta.1
- v0.1.25
- v0.1.24
- v0.1.23
- v0.1.22
- v0.1.21
- v0.1.21-beta.01
- v0.1.20
- v0.1.19
- v0.1.18
- v0.1.18-beta.04
- v0.1.18-beta.03
- v0.1.18-beta.02
- v0.1.18-beta.01
- v0.1.17
- v0.1.16
- v0.1.15
- v0.1.15-beta.01
- v0.1.14
- v0.1.14-beta.01
- v0.1.13
- v0.1.13-beta.04
- v0.1.13-beta.03
- v0.1.13-beta.02
- v0.1.13-beta.01
- v0.1.12
- v0.1.12-beta.6
- v0.1.12-beta.5
- v0.1.12-beta.4
- v0.1.12-beta.3
- v0.1.12-beta.2
- v0.1.12-beta.1
- v0.1.11
- v0.1.11-beta.2
- v0.1.11-beta.1
- v0.1.10
- v0.1.10-beta01
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1
- v0.1-beta.21
- v0.1-beta.20
- v0.1-beta.19
- v0.1-beta.18
- v0.1-beta.17
- v0.1-beta.16
- v0.1-beta.15
- v0.1-beta.14
- v0.1-beta.13
- v0.1-beta.12
- v0.1-beta.11
- v0.1-beta.10
- v0.1-beta.9
- v0.1-beta.8
- v0.1-beta.7
- v0.1-beta.6
- v0.1-beta.5
- v0.1-beta.4
- v0.1-beta.3
- v0.1-beta.2
- v0.1-beta.1
- v0.0.69
- v0.0.68
- v0.0.67
- v0.0.66
- v0.0.65
- v0.0.64
- v0.0.63
- v0.0.62
- v0.0.61
- v0.0.60
- v0.0.59
- v0.0.58
- v0.0.57
- v0.0.56
- v0.0.55
- v0.0.54
- v0.0.53
- v0.0.52
- v0.0.51
- v0.0.50
- v0.0.49
- v0.0.48
- v0.0.47
- v0.0.46
- v0.0.45
- v0.0.44
- v0.0.43
- v0.0.42
- v0.0.41
- v0.0.40
- v0.0.39
- v0.0.38
- v0.0.37
- v0.0.36
- v0.0.35
- v0.0.34
- v0.0.33
- v0.0.32
- v0.0.31
- v0.0.30
- v0.0.29
- v0.0.28
- v0.0.27
- v0.0.26
- v0.0.25
- v0.0.24
- v0.0.23
- v0.0.22
- v0.0.21
- v0.0.20
- v0.0.19
- v0.0.18
- v0.0.17
- v0.0.16
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-feature/change-package
- dev-feature/new-package
- dev-feature/array-position-order
- dev-feature/brand_main_company
- dev-feature/approvers
- dev-feature/UserCompanyService
- dev-bugfix/duplicate-columns-in-hub
- dev-next
- dev-feature/auth-middleware
- dev-feature/cache-barra-me
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.