-
Notifications
You must be signed in to change notification settings - Fork 73
Autenticação
Pra se autenticar, precisa de alguns passos:
- Precisamos adicionar no banco um client credentials, que é composto de name e secret. Passamos esse name e Secret para a aplicação que vai se autenticar
- Essa aplicação na hora de se autenticar, precisa juntar o name e o secret assim “name:secret” e transformar essa junção em base64
- Passa via Authorization header
- Se o grant_type for “client_credentials”, apenas validamos o name e o secret que foi mandado para saber se existe um client credentials com esse name e secret
- Se for tipo password, validamos além do client credentials, também o username e o password do usuário que foi mandado.
Usuários no ambiente de DEV [email protected] [email protected] Os dois tem a senha 'randomPass'
mandar esse quando for login de usuário: name: NEWSCHOOL@FRONT secret:NEWSCHOOL@FRONTSECRET
Caso precise fazer uma requisição sem que tenha um usuário logado (como esqueci minha senha): name: NEWSCHOOL@EXTERNALSECRET secret:NEWSCHOOL@EXTERNAL
Lembrando... Client credentials tem que ir via header vocês primeiro tem que juntar o name e o secret: NEWSCHOOL@FRONT:NEWSCHOOL@FRONTSECRET
E transforma isso em base64 que vai gerar isso: TkVXU0NIT09MQEZST05UOk5FV1NDSE9PTEBGUk9OVFNFQ1JFVA==
Aí o header tem que ir com o type na frente, o type do client credentials é Basic Então na hora de montar o header, tem que ir assim 'Basic TkVXU0NIT09MQEZST05UOk5FV1NDSE9PTEBGUk9OVFNFQ1JFVA=='
Esse NEWSCHOOL@FRONT não tem role associada, ele é apenas para vocês mandaram o usuário e a senha junto Já o NEWSCHOOL@FRONT_CHANGE_PASSWORD tem a role do tipo external. Atualmente apenas trocar senha é do tipo external, então vocês só vão conseguir trocar senha com o token dele
O banco de dev já ta com isso, então cês podem bater lá e usar.