Skip to content

Commit

Permalink
update README v2
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelofns committed Nov 24, 2017
1 parent c9e5350 commit ad837e4
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 58 deletions.
67 changes: 18 additions & 49 deletions modules/@demoiselle/http/README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,35 @@
# Http Service
# Serviços Http

Serviço Http Angular 2 com as seguintes características:
* Adição automática de header para o token JWT no cabeçalho http de cada requisição;
* Através da configuração de endpoints, permite a utilização da chave do endpoint ao invés de toda a url em cada requisição.
* Interceptador para tratamento de erros;
São disponibilizados os seguintes serviços:
* Interceptador para adição automática de header para o token JWT no cabeçalho de cada requisição;
* Serviço para tratamento de erros;
* Serviço que oferece acesso aos serviços REST do backend Demoiselle;

### AuthInterceptor

## Instalação
Utilize o AuthInterceptor caso esteja utilizando a segurança por Token integrada com o backend Demoiselle.
Dependência: TokenService do módulo @demoiselle/security.

```bash
npm install --save @demoiselle/http
```
### ExceptionService

Utilize o Observable oferecido pelo ExceptionService para efetuar o tratamento de erros de comunicação com o backend. Ex: Erros de validação (412), erros de autorização, erros no servidor, etc...

## Utilização e configuração
### DataService

https://demoiselle.gitbooks.io/documentacao-frontend/content/m%C3%B3dulo-http/configurando-sua-aplicacao.html
Para aproveitar a implementação de métodos padrão para acesso à Api REST Demoiselle crie seu serviço estendendo a classe DataService informando o recurso a ser acessado via configuração no construtor.


### Exemplo - GET Request
## Instalação

Para fazer as requisições, use o serviço `Http` do angular:
```bash
npm install --save @demoiselle/http
```

```javascript
import { Http } from '@angular/http';

constructor(private http: Http) {}
## Utilização e configuração

// ...código resumido...
https://demoiselle.gitbooks.io/documentacao-frontend/content/m%C3%B3dulo-http/configurando-sua-aplicacao.html

this.http.get('~main/users');
```


## Configuração do HttpServiceProvider

- **_endpoints_**: objeto com a lista de endpoints disponíveis para a applicação
- **_multitenancy_**: configuração de multitenancy
- **_unAuthorizedRoute_**: string com o valor da rota para redirecionamento quando servidor responder 401-unauthorized
- **_tokenKey_**: chave localstorage para acesso ao token jwt

### Exemplo de configuração

```javascript
{
endpoints : {
main: 'http://localhost:9090/app/api/v1',
main2: 'http://localhost:9090/app2/api/v1'
},
multitenancy: {
active: false,
apiUrl: 'http://localhost:9090/users/api/v1/'
},
unAuthorizedRoute : '/login',
tokenKey : 'id_token'
}
```

### Exemplo de uso
> Considerando a configuração<br>
> `{'endpoints' : {'main': 'http://localhost/app/api/v1'}}`<br>
> Podemos utilizar a seguinte chamada:<br>
> `this.http.get('~main/users')`<br>
> Que vai gerar uma requisição para:
> `'http://localhost/app/api/v1/users'`
36 changes: 27 additions & 9 deletions modules/@demoiselle/security/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Security Module

O módulo Security disponibiliza os seguintes serviços/componentes:
* AuthService: Provê serviços de autenticação e autorização baseado nas informações do token vindo do backend Demoiselle;
* AuthService: Provê serviços de autenticação e reToken;
* TokenService: Provê serviços de armazenamento e acesso ao token de segurança, assim como verificação se o usuário está autorizado (baseado em roles);
* AuthGuard: Serviço que intercepta acesso as rotas e redireciona para a página de login caso a autenticação seja requerida;
* Diretivas de segurança: Diretivas para exibição de conteúdo de acordo com autenticação/autorização;

Expand Down Expand Up @@ -36,22 +37,39 @@ this.authService.login(this.user)
```


## Configuração do AuthServiceProvider
## Configuração

- **_authEndpointUrl_**: string com o endereço do serviço que irá realizar a autenticação;
A classe AuthOptions permite a configuração do módulo Security. As seguintes propriedades podem ser configuradas:

- **_authEndpointUrl_**: (Obrigatório) string com o endereço do serviço que irá realizar a autenticação;
- **_loginResourcePath_**: string com o caminho do recurso que responde pela operação de login no backend;
- **_tokenKey_** : chave localstorage para acesso ao token jwt;
- **_loginRoute_**: string com a rota que apresenta a tela de login na aplicação;
- **_doReToken_**: informa se o re-token deve ser realizado automaticamente antes da expiração do token;
- **_tokenGetter_**: função javascript para obtenção do token;
- **_tokenSetter_**: função javascript para alteração do valor do token;
- **_tokenRemover_**: função javascript para remoção do token;




### Exemplo de configuração

```javascript
{
authEndpointUrl: '~user/', // ou no formato 'http://localhost:9090/app/api/v1/'
loginResourcePath: 'auth/login',
tokenKey: 'id_token',
loginRoute: '/login'
}

// Demoiselle AuthOptions, using default values except api endpoint
export class MyAuthOptions extends AuthOptions {
authEndpointUrl = environment.apiUrl;
}

// ...
providers: [
// ...
{
provide: AuthOptions,
useClass: MyAuthOptions
},
]
```

## ReToken
Expand Down

0 comments on commit ad837e4

Please sign in to comment.