Download the PHP package nanicas/authentication-library without Composer

On this page you can find all versions of the php package nanicas/authentication-library. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package authentication-library

Atenção: Todos os comandos abaixo deverão ser executados em seu projeto principal.

Instalar a dependência

Adicionar os Providers

No arquivo config/app.php, adicione:

Executar o comando de publicação dos arquivos de configuração

Após o comando, favor verificar no diretório /config (raiz) se o arquivo existe:

Configurar as variáveis de ambiente

Customizar Guards e Providers em config/auth.php

Caso queira personalizar os meios de autenticação, altere:

Configurar a entidade de usuário

Adicionar a coluna ID no "fillable" da Model que representa seu usuário autenticado:

Adicionar Middlewares

No arquivo app/Http/Kernel.php, adicione:


Exemplos

Busca de permissões por usuário via API (stateless)

Primeiro passo é sua model referente ao usuário possuir a trait Nanicas\Auth\Frameworks\Laravel\Traits\PermissionableStateless implementada.

Segundo passo é habilitar a configuração gate.check_acl_permissions e stateless no seu arquivo nanicas_auth.php.

Vamos criar um middleware para separar a lógica referente a autorização, caso exista: (namespace App\Http\Middleware)

No exemplo acima, estamos usando um HARD_CONTRACT_ID fixo, ou seja, obtido do arquivo de configuração. Contudo, isso poderia ser dinâmico de acordo com sua regra de negócio.

E por último é tentar fazer o uso do fluxo como um todo, incluindo acesso às permissões, sendo:

Estrutura de dados via API (stateless)

Um ponto de atenção é sobre o middleware principal auth:api, pois, caso o token recebido seja inválido, o Laravel pode passar a exibir "The route api/v1/user could not be found", sendo necessário então configurar um fallback.

Caso tente usar o Gate::authorize sem antes passar pelo middleware auth:api, receberá o seguinte erro:

Caso tente usar os métodos contidos na trait PermissionableStateless, como por exemplo getACLPermissions, sem antes adicionar uma resposta válida do Autorizador na requisição em questão, receberá o seguinte erro:

Busca de permissões por usuário via sessão

Primeiro passo é sua Model referente ao usuário possuir a Trait Nanicas\Auth\Frameworks\Laravel\Traits\PermissionableSession implementada.

Segundo passo é habilitar a configuração gate.check_acl_permissions e desabilitar a configuração stateless no seu arquivo nanicas_auth.php

Terceiro e último é tentar fazer o uso do fluxo como um todo, incluindo acesso às permissões, sendo:

Estrutura de dados via sessão

Caso você decida não usar o define_contract_by_domain.nanicas para definir seu contrato automaticamente na sessão, tenha em mente que será necessária tal informação internamente durante o uso do Gate::authorize, caso contrário, receberá o seguinte erro:

Entendemos que, se existe um grupo cercado pelo middleware auth_oauth.nanicas, significa que o login já foi feito anteriormente usando o driver custom_session, caso contrário, será redirecionado para o logout.


Customizar um serviço terceiro

No arquivo de configuração config/nanicas_auth.php, existem as classes padrão, sendo:

Caso queira usar uma própria, bastar herdá-la e implementar/ajustar da sua maneira, como:

As interfaces são obrigatórias, pois é com esse contrato que o Framework conseguirá usar a inversão de dependência corretamente, como configurado em src/Frameworks/Laravel/Providers/AppServiceProvider.php.


Gerar Personal Tokens

As aplicações que forem consumir recursos privados desse projeto, deverão usar um token pessoal para comunicação entre as aplicações (machine-to-machine), enviando no cabeçalho, como no exemplo:

Execução simples (token pessoal)

Execução avançada (token pessoal)

Resultado (ambos):

Lembre-se de configurar as variáveis de ambiente para lê-las:

Enviando token pessoal via HTTP


Fluxo de entrada no aplicativo

Legendas


All versions of authentication-library with dependencies

PHP Build Version
Package Version
Requires guzzlehttp/guzzle Version ^7.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package nanicas/authentication-library contains the following files

Loading the files please wait ....