Skip to content

Commit

Permalink
release 1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
dadonasll committed Oct 11, 2023
1 parent 8fd55e7 commit 037d82b
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 13 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
### Released

### 1.1.0

### Adicionado
Comando `scope list` para listar todos os scopes que podem ser utilizados em um client (Oauth Application)
Comando `client create` para criar um novo client (Oauth Application)
Comando `client add-scope` para adicionar novos scopes em um client (Oauth Application)

### 1.0.0

#### Adicionado
Comando `login` para realizar o login no ID Magalu e consentir os scopes necessários para utilização da CLI
Comando `client list` para listar todos os clients (Oauth Applications) do usuário
Comando `client update` para atualizar os dados do client (Oauth Application) do usuário
91 changes: 78 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,113 @@
# ID Magalu CLI
CLI para operações relacionadas aos resources do ID Magalu.

CLI para operações relacionadas aos recursos do ID Magalu.
## Instalação do CLI
- Realizar download do arquivo de acordo com o sistema operacional na página [Releases](https://github.com/luizalabs/id-magalu-cli/releases);
- Renomear arquivo para `idm`;

### Linux
- Tornar o arquivo executável -> `chmod +x idm`
- (opcional) Tornar o arquivo executável de qualquer lugar movendo para a pasta bin -> `sudo mv idm /usr/bin`

### Windows
- (opcional) Tornar o arquivo executável de qualquer lugar movendo para a pasta `C:\Windows\System32`.


### MacOS
- Tornar o arquivo executável -> `chmod +x idm`
- (opcional) Tornar o arquivo executável de qualquer lugar movendo para a pasta `mv idm /usr/local/bin`.
- Permitir a execução do app não baixado pela App Store:
- ![](mac_allow_app.png)
## Utilização
### Help
```
idm <command> -h
Ex:
idm -h
idm login -h
idm client -h
```

### Login
Para utilizar as features disponíveis é necessário primeiramente realizar o login através do comando:
```
idm login
```

### Scopes
#### Listando Scopes
O comando a seguir retorna todos os scopes disponíveis para utilizar na criação de clients:
```
idm scope list
-- Ordenando por API Product
idm scope list -o api-product
ou
idm scope list --order-by api-product
```
### Clients
#### Listando Clients
#### Criando Clients
O comando a seguir cria um novo client:
```
idm client create --name 'client-name' --description 'Client Description' --terms-of-use 'http://terms.com.br' --privacy-term 'http://term.com.br' --icon 'http://icon.com/icon.png' --redirect-uris 'https://redirect1.com https://redirect2.com' --scopes 'scope-x scope-y' --reason 'Scopes needed by UI to...' --audience 'public' --access-token-exp 300 --always-require-login true'
```
Detalhes dos atributos para criação de um client
```
-n, --name string # Nome
-d, --description string # Descrição
-t, --terms-of-use string # Link para termos de uso
-p, --privacy-term string # Link para o termo de privacidade
-i, --icon string # Link para uma imagem
-u, --redirect-uris string # Redirecionar URIs (separados por espaço)
-s, --scopes string # Nomes de escopos (separados por espaço)
-r, --reason string # Razão pela qual você está adicionando um escopo. Usado somente quando pelo menos um dos escopos necessita de aprovação para ser utilizado
-a, --audience string # Declaração de token de acesso Aud (separada por espaço)
-x, --access-token-exp uint32 # Tempo de expiração do token de acesso (em segundos)
-q, --always-require-login string # Ignorar a sessão ativa do Magalu ID e sempre exigir login (true|false)
-f, --refresh-token-custom-expires-enabled string # Personalizar tempo de expiração do token de atualização (true|false)
-e, --refresh-token-exp uint32 # Tempo de expiração do token de atualização (em segundos)
-l, --backchannel-logout-session-required string # O cliente requer sessão de logout do backchannel (true|false)
-b, --backchannel-logout-uri string # URI de logout do backchannel
-m, --scopes-default string # Nome dos escopos padrão (separados por espaço)
```
Para conferir a lista completa de atributos para criação de clients utilize o comando abaixo:
```
idm client create -h
```
#### Adicionando scopes ao clients
O comando a seguir adiciona scopes ao client:
```
idm client add-scope --client-uuid 'XXXXXX-XXXf-4XX2-8XXa9-37cXXXXXXd09' --scopes 'scope-x scope-y' --reason 'My client needs this scope because...'
```
Detalhes sobre os atributos de scopes para adição no client
```
-i, --client-uuid # UUID do client ao qual o scope será adicionado.
-s, --scopes # Lista de nome de scopes separados por espaço.
-r, --reason # Se algum dos scopes requerer aprovação de uso, esse texto irá aparecer para o dono do scope para que possa realizar a aprovação de uso.
```
#### Listando clients
O comando a seguir retorna a lista de clients que o usuário possui:
```
idm client list
```

#### Alterando clients
O seguinte comando altera as propriedades de um client:
```
idm client update --id xxx-xxx-x-xxx-xxxx --description "Description Updated" --redirect-uris "https://service.com"
```
Para saber a lista completa de atributos que é possível alterar basta consultar através do comando:
Detalhes sobre os atributos de alteração de um client
```
idm client update -h
-n, --name string # Nome
-d, --description string # Descrição
-t, --terms-of-use string # Link para termos de uso
-p, --privacy-term string # Link para o termo de privacidade
-i, --icon string # Link para uma imagem
-u, --redirect-uris string # Redirecionar URIs (separados por espaço)
-s, --scopes string # Nomes de escopos (separados por espaço)
-r, --reason string # Razão pela qual você está adicionando um escopo. Usado somente quando pelo menos um dos escopos necessita de aprovação para ser utilizado
-a, --audience string # Declaração de token de acesso Aud (separada por espaço)
-x, --access-token-exp uint32 # Tempo de expiração do token de acesso (em segundos)
-q, --always-require-login string # Ignorar a sessão ativa do Magalu ID e sempre exigir login (true|false)
-f, --refresh-token-custom-expires-enabled string # Personalizar tempo de expiração do token de atualização (true|false)
-e, --refresh-token-exp uint32 # Tempo de expiração do token de atualização (em segundos)
-l, --backchannel-logout-session-required string # O cliente requer sessão de logout do backchannel (true|false)
-b, --backchannel-logout-uri string # URI de logout do backchannel
-m, --scopes-default string # Nome dos escopos padrão (separados por espaço)
```
Para conferir a lista completa de atributos do processo de alteração de clients utilize o comando abaixo:
```
idm client update -h
```
Binary file added mac_allow_app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 037d82b

Please sign in to comment.