Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Autenticação REST via Token JWT

Professor, gostaria de saber como o angular autentica um pedido a um serviço REST via token (JWT). Do lado do servidor estou trabalhando com Java e do lado do cliente, com Angular.

Desde já agradeço.

5 respostas

Olá Claudio, tudo bem?

Eu já fiz um projeto com Java enviando o token(JWT) e usando o angular para receber de decodifica-lo usando essa lib aqui:

https://github.com/auth0/angular-jwt

O uso dela é bem simples.

angular.module('app', ['angular-jwt'])
.controller('Controller', function Controller(jwtHelper) {
  var expToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NhbXBsZXMuYXV0aDAuY29tLyIsInN1YiI6ImZhY2Vib29rfDEwMTU0Mjg3MDI3NTEwMzAyIiwiYXVkIjoiQlVJSlNXOXg2MHNJSEJ3OEtkOUVtQ2JqOGVESUZ4REMiLCJleHAiOjE0MTIyMzQ3MzAsImlhdCI6MTQxMjE5ODczMH0.7M5sAV50fF1-_h9qVbdSgqAnXVF7mz3I6RjS6JiH0H8';  

  var tokenPayload = jwtHelper.decodeToken(expToken);
})

Lazaro, no meu caso estou usando a seguinte estratégia: Em uma primeira requisição de autenticação, o cliente envia seus dados de autenticação (login/senha, por exemplo). O sistema verifica a validade dos dados e, caso válidos, cria um token jwt. Uma vez criado o token, retorno-o em um cabeçalho http chamado "authToken" e retorna a resposta para o cliente. Tenho duas perguntas a fazer - e desde já agradeço pela atenção :).

  • Existe alguma fragilidade na estratégia que estou usando forma de trabalhar?
  • Quais as formas em que o "angular-jwt" poderia me ajudar? No meu caso não tenho necessidade de desencriptar o token do lado do cliente, apenas so lado do servidor. Minha intenção é trabalhar uma forma consistente de criar uma "seção" para o usuário com limite de tempo.

Grato.

solução!

Cláudio, no curso de mean da Alura eu mostro autenticação por token para o aluno ter uma base. Aliás, uso o mesmo projeto do curso de Angular 1.

Oi Claudio.

Eu precisei desencriptar o token, por isso indiquei a lib mas caso não precise, acho que não é necessário o uso.

Olá Cláudio, você pode olhar esta referência: https://rafaell-lycan.com/2016/autenticacao-jwt-angular-app/