bildvitta/iss-sdk
ISS SDK
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:
ENVIRONMENT_VARIABLE_KEY=
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.
Related Packages
Create extendible and maintainable applications by harnessing the power of pipel...
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v0.2.0 | ^8.0| | ^8.0| | MIT | |
| v0.1.34 | ^7.4| | ^8.0| | MIT | |
| v0.1.33 | ^7.4| | ^8.0| | MIT | |
| v0.1.32 | ^7.4| | ^8.0| | MIT | |
| v0.1.31 | ^7.4| | ^8.0| | MIT | |
| v0.1.30 | ^7.4| | ^8.0| | MIT | |
| v0.1.29 | ^7.4| | ^8.0| | MIT | |
| v0.1.27 | ^7.4| | ^8.0| | MIT | |
| v0.1.26 | ^7.4| | ^8.0| | MIT | |
| v0.1.25 | ^7.4| | ^7.0| | MIT | |
| v0.1.24 | ^7.4| | ^7.0| | MIT | |
| v0.1.23 | ^7.4| | ^7.0| | MIT | |
| v0.1.22 | ^7.4| | ^7.0| | MIT | |
| v0.1.21 | ^7.4| | ^7.0| | MIT | |
| v0.1.20 | ^7.4| | ^7.0| | MIT | |
| v0.1.19 | ^7.4| | ^7.0| | MIT | |
| v0.1.18 | ^7.4| | ^7.0| | MIT | |
| v0.1.17 | ^7.4| | ^7.0| | MIT | |
| v0.1.16 | ^7.4| | ^7.0| | MIT | |
| v0.1.15 | ^7.4| | ^7.0| | MIT | |
| v0.1.14 | ^7.4| | ^7.0| | MIT | |
| v0.1.13 | ^7.4| | ^7.0| | MIT | |
| v0.1.12 | ^7.4| | ^7.0| | MIT | |
| v0.1.11 | ^7.4| | ^7.0| | MIT | |
| v0.1.10 | ^7.4| | ^7.0| | MIT | |
| v0.1.9 | ^7.4| | ^7.0| | MIT | |
| v0.1.8 | ^7.4| | ^7.0| | MIT | |
| v0.1.7 | ^7.4| | ^7.0| | MIT | |
| v0.1.6 | ^7.4| | ^7.0| | MIT | |
| v0.1.5 | ^7.4| | ^7.0| | MIT |
Showing the latest 30 of 104. See every release on Packagist
Pre-releases (43)
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v0.1.28-beta.1 | ^7.4| | ^8.0| | MIT | |
| v0.1.26-beta.1 | ^7.4| | ^8.0| | MIT | |
| v0.1.21-beta.01 | ^7.4| | ^7.0| | MIT | |
| v0.1.18-beta.04 | ^7.4| | ^7.0| | MIT | |
| v0.1.18-beta.03 | ^7.4| | ^7.0| | MIT | |
| v0.1.18-beta.02 | ^7.4| | ^7.0| | MIT | |
| v0.1.18-beta.01 | ^7.4| | ^7.0| | MIT | |
| v0.1.15-beta.01 | ^7.4| | ^7.0| | MIT | |
| v0.1.14-beta.01 | ^7.4| | ^7.0| | MIT | |
| v0.1.13-beta.04 | ^7.4| | ^7.0| | MIT | |
| v0.1.13-beta.03 | ^7.4| | ^7.0| | MIT | |
| v0.1.13-beta.02 | ^7.4| | ^7.0| | MIT | |
| v0.1.13-beta.01 | ^7.4| | ^7.0| | MIT | |
| v0.1.12-beta.6 | ^7.4| | ^7.0| | MIT | |
| v0.1.12-beta.5 | ^7.4| | ^7.0| | MIT | |
| v0.1.12-beta.4 | ^7.4| | ^7.0| | MIT | |
| v0.1.12-beta.3 | ^7.4| | ^7.0| | MIT | |
| v0.1.12-beta.2 | ^7.4| | ^7.0| | MIT | |
| v0.1.12-beta.1 | ^7.4| | ^7.0| | MIT | |
| v0.1.11-beta.2 | ^7.4| | ^7.0| | MIT | |
| v0.1.11-beta.1 | ^7.4| | ^7.0| | MIT | |
| v0.1.10-beta01 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.21 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.20 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.19 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.18 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.17 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.16 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.15 | ^7.4| | ^7.0| | MIT | |
| v0.1-beta.14 | ^7.4| | ^7.0| | MIT |
Showing the latest 30 of 43. See every release on Packagist