|
1 | 1 | # ID Magalu CLI
|
2 |
| -CLI para operações relacionadas aos resources do ID Magalu. |
3 |
| - |
| 2 | +CLI para operações relacionadas aos recursos do ID Magalu. |
4 | 3 | ## Instalação do CLI
|
5 | 4 | - Realizar download do arquivo de acordo com o sistema operacional na página [Releases](https://github.com/luizalabs/id-magalu-cli/releases);
|
6 | 5 | - Renomear arquivo para `idm`;
|
7 |
| - |
8 | 6 | ### Linux
|
9 | 7 | - Tornar o arquivo executável -> `chmod +x idm`
|
10 | 8 | - (opcional) Tornar o arquivo executável de qualquer lugar movendo para a pasta bin -> `sudo mv idm /usr/bin`
|
11 |
| - |
12 | 9 | ### Windows
|
13 | 10 | - (opcional) Tornar o arquivo executável de qualquer lugar movendo para a pasta `C:\Windows\System32`.
|
14 |
| - |
15 |
| - |
| 11 | +### MacOS |
| 12 | +- Tornar o arquivo executável -> `chmod +x idm` |
| 13 | +- (opcional) Tornar o arquivo executável de qualquer lugar movendo para a pasta `mv idm /usr/local/bin`. |
| 14 | +- Permitir a execução do app não baixado pela App Store: |
| 15 | +-  |
16 | 16 | ## Utilização
|
17 | 17 | ### Help
|
18 | 18 | ```
|
19 | 19 | idm <command> -h
|
20 |
| -
|
21 | 20 | Ex:
|
22 | 21 | idm -h
|
23 | 22 | idm login -h
|
24 | 23 | idm client -h
|
25 | 24 | ```
|
26 |
| - |
27 | 25 | ### Login
|
28 | 26 | Para utilizar as features disponíveis é necessário primeiramente realizar o login através do comando:
|
29 | 27 | ```
|
30 | 28 | idm login
|
31 | 29 | ```
|
32 |
| - |
| 30 | +### Scopes |
| 31 | +#### Listando Scopes |
| 32 | +O comando a seguir retorna todos os scopes disponíveis para utilizar na criação de clients: |
| 33 | +``` |
| 34 | +idm scope list |
| 35 | +-- Ordenando por API Product |
| 36 | +idm scope list -o api-product |
| 37 | +ou |
| 38 | +idm scope list --order-by api-product |
| 39 | +``` |
33 | 40 | ### Clients
|
34 |
| -#### Listando Clients |
| 41 | +#### Criando Clients |
| 42 | +O comando a seguir cria um novo client: |
| 43 | +``` |
| 44 | +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' |
| 45 | +``` |
| 46 | +Detalhes dos atributos para criação de um client |
| 47 | +``` |
| 48 | + -n, --name string # Nome |
| 49 | + -d, --description string # Descrição |
| 50 | + -t, --terms-of-use string # Link para termos de uso |
| 51 | + -p, --privacy-term string # Link para o termo de privacidade |
| 52 | + -i, --icon string # Link para uma imagem |
| 53 | + -u, --redirect-uris string # Redirecionar URIs (separados por espaço) |
| 54 | + -s, --scopes string # Nomes de escopos (separados por espaço) |
| 55 | + -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 |
| 56 | + -a, --audience string # Declaração de token de acesso Aud (separada por espaço) |
| 57 | + -x, --access-token-exp uint32 # Tempo de expiração do token de acesso (em segundos) |
| 58 | + -q, --always-require-login string # Ignorar a sessão ativa do Magalu ID e sempre exigir login (true|false) |
| 59 | + -f, --refresh-token-custom-expires-enabled string # Personalizar tempo de expiração do token de atualização (true|false) |
| 60 | + -e, --refresh-token-exp uint32 # Tempo de expiração do token de atualização (em segundos) |
| 61 | + -l, --backchannel-logout-session-required string # O cliente requer sessão de logout do backchannel (true|false) |
| 62 | + -b, --backchannel-logout-uri string # URI de logout do backchannel |
| 63 | + -m, --scopes-default string # Nome dos escopos padrão (separados por espaço) |
| 64 | +``` |
| 65 | +Para conferir a lista completa de atributos para criação de clients utilize o comando abaixo: |
| 66 | +``` |
| 67 | +idm client create -h |
| 68 | +``` |
| 69 | +#### Adicionando scopes ao clients |
| 70 | +O comando a seguir adiciona scopes ao client: |
| 71 | +``` |
| 72 | +idm client add-scope --client-uuid 'XXXXXX-XXXf-4XX2-8XXa9-37cXXXXXXd09' --scopes 'scope-x scope-y' --reason 'My client needs this scope because...' |
| 73 | +``` |
| 74 | +Detalhes sobre os atributos de scopes para adição no client |
| 75 | +``` |
| 76 | +-i, --client-uuid # UUID do client ao qual o scope será adicionado. |
| 77 | +-s, --scopes # Lista de nome de scopes separados por espaço. |
| 78 | +-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. |
| 79 | +``` |
| 80 | +#### Listando clients |
35 | 81 | O comando a seguir retorna a lista de clients que o usuário possui:
|
36 | 82 | ```
|
37 | 83 | idm client list
|
38 | 84 | ```
|
39 |
| - |
40 | 85 | #### Alterando clients
|
41 | 86 | O seguinte comando altera as propriedades de um client:
|
42 | 87 | ```
|
43 | 88 | idm client update --id xxx-xxx-x-xxx-xxxx --description "Description Updated" --redirect-uris "https://service.com"
|
44 | 89 | ```
|
45 |
| -Para saber a lista completa de atributos que é possível alterar basta consultar através do comando: |
| 90 | +Detalhes sobre os atributos de alteração de um client |
46 | 91 | ```
|
47 |
| -idm client update -h |
| 92 | + -n, --name string # Nome |
| 93 | + -d, --description string # Descrição |
| 94 | + -t, --terms-of-use string # Link para termos de uso |
| 95 | + -p, --privacy-term string # Link para o termo de privacidade |
| 96 | + -i, --icon string # Link para uma imagem |
| 97 | + -u, --redirect-uris string # Redirecionar URIs (separados por espaço) |
| 98 | + -s, --scopes string # Nomes de escopos (separados por espaço) |
| 99 | + -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 |
| 100 | + -a, --audience string # Declaração de token de acesso Aud (separada por espaço) |
| 101 | + -x, --access-token-exp uint32 # Tempo de expiração do token de acesso (em segundos) |
| 102 | + -q, --always-require-login string # Ignorar a sessão ativa do Magalu ID e sempre exigir login (true|false) |
| 103 | + -f, --refresh-token-custom-expires-enabled string # Personalizar tempo de expiração do token de atualização (true|false) |
| 104 | + -e, --refresh-token-exp uint32 # Tempo de expiração do token de atualização (em segundos) |
| 105 | + -l, --backchannel-logout-session-required string # O cliente requer sessão de logout do backchannel (true|false) |
| 106 | + -b, --backchannel-logout-uri string # URI de logout do backchannel |
| 107 | + -m, --scopes-default string # Nome dos escopos padrão (separados por espaço) |
| 108 | + |
48 | 109 | ```
|
| 110 | +Para conferir a lista completa de atributos do processo de alteração de clients utilize o comando abaixo: |
| 111 | +``` |
| 112 | +idm client update -h |
| 113 | +``` |
0 commit comments