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

Liberar paginas das restrições

Aqui no meu auth.js eu tenho o seguinte:

module.exports = function(app) {

    var api = app.api.auth;
    app.post('/autenticar', api.autentica);
    app.use('/*', api.verificaToken);
};

Caso eu queria definir algumas rotas livres das restrições da autenticação, como eu devo fazer?

7 respostas

Editei aqui para ficar melhor.. já posto.

Você não pode ter mais a linha que comentei:

module.exports = function(app) {

    var api = app.api.auth;
    app.post('/autenticar', api.autentica);
    // app.use('/*', api.verificaToken);
};

Sem ela, todos terão acesso a tudo!

Agora, você precisa em cada API/Middleware usar a lógica de api.verificaToken. É mais trabalhoso, muito mais, mas é esse o caminho.

Outra opção é ter duas aplicações, uma que não precisa se segurança e outra que precisa.

Eu não posso fazer o caminho inverso?

Bloquear todas as paginas com /* e depois ir liberando algumas paginas?

Exempo: Quero criar uma pagina de cadastro(/cadastro), mas se essa pagina não pode estar bloqueada

Não pode, porque causa da natureza do middlware. Se você ativa um middleware, ele toma precedência. Ou seja, ele será ativado e já bloqueará o acesso as demais rotas.

Mas tem uma soluçãozinha...

solução!

Todas as rotas que você não quiser autenticação, você coloca antes de app.use('/*', api.verificaToken);.

Mas você terá que ter disciplina na hora de organizar seus arquivos.

Por enquanto, como e so para estudo eu vou realizar dessa forma. Obrigado!