Como para proteger uma rota (OAuth 2)
Caso você tenha desenvolvido uma nova rota que precise estar protegida pela autenticação OAuth 2 siga os seguintes passos:
1) Criar Usuario e Cliente OAuth 2
Execute o script Mongo que está em /model/inicializacaoMongo.js -- isto criará um usuário inicial e cliente OAuth
2) Proteger a rota
Basta utilizar o método AuthManager.isAuthenticated como segundo parâmetro do método de registro de rota do servidor Restify.
Abaixo, a rota POST ~/menores não protegida:
server.post('/menores', (request, response, next) => {
    const menorTranslator = new MenorTranslator()
    menorTranslator.post(request, response)
})
E agora protegida (note o segundo parâmetro):
server.post('/menores', AuthManager.isAuthenticated, (request, response, next) => {
    const menorTranslator = new MenorTranslator()
    menorTranslator.post(request, response)
})
3) Requisitar o token no postman
Abra a requisição POST "/oauth" no Postman e informe:
- Na aba Authorization vão as informações da aplicação cliente:
- Username: adocoes.app
 - Password: 407a4d80fce791751cd83ab1af3d9b26
 
 
- Na aba Body vão as informações do usuário:
- Selecione "x-www-form-urlencoded"
 - grant_type: password
 - username: [email protected]
 - password: 123
 
 
4) Testando a rota
- 
Basta fazer a requisição para o recurso protegido incluindo o token no cabeçalho da requisição. No Postman, na aba "Headers", o token já está sendo incluído com a variável de ambiente {{access-token}}. Para atualizar o valor desta variável basta executar a requisição "POST /oauth". Ele será convertido em um cabeçalho como no exemplo abaixo:
- Authorization: Bearer FfzutUS50zSzJiWnhosQK0QXkKldw9tSrMTQXxv4FKw7TNhXjtxmyCXxMHhxgbCKjsbcCPdEQKWTbM6bQnhdveOH85rNH9flJukd0jyzm5hZyA0pV9sNXPFHYKicQ59mZsA1PxLFXggBusOKV78O5crBsR6O5DXVdFR9lEu02S3ls1oxQOFcMprds9ZUyKETak1XIGJfGFvfPs2nJQ7oGG5wEsHof4pb21yPOZHg474NveisCkeW7STyB82ikUY3