2017-02-22 14 views
0
var loadData = function() { 

var url = 'http://localhost:3000/users'; 

var req = new XMLHttpRequest(); 
req.open('GET', url, true); 
req.setRequestHeader('Accept', 'application/json'); 
req.setRequestHeader('Authorization', 'Bearer ' + keycloak.token); 

req.onreadystatechange = function() { 
    if (req.readyState == 4) { 
     if (req.status == 200) { 
      console.log('Success'); 
     } else if (req.status == 403) { 
      console.log('Forbidden'); 
     } 
    } 
} 

req.send(); 
}; 

Выше мой передний конец кода запрашивающий REST API и передавая keycloak маркер в авторизации заголовок, который потребуется для аутентификации на стороне узла js-сервера.аутентифицировать REST API с помощью keycloak маркер доступа (полученный из заголовка Authorization в запрос HTTP GET от переднего конца) в узел JS

Теперь я хотел знать, как защитить мой Rest Api с помощью Keycloak и аутентифицировать его на основе маркера, полученного от внешнего интерфейса, и указать, запрашивает ли аутентичный пользователь ресурс api rest или нет.

Я создал rest api в узле js и использовал npm-пакет keycloak-connect. Я сопоставил промежуточное программное обеспечение nodejs с промежуточным программным обеспечением keycloak.

var express = require('express'); 
var router = express.Router(); 
var app = express(); 
var Keycloak = require('keycloak-connect'); 
var keycloak =new Keycloak(); 

app.use(keycloak.middleware({ 
logout: '/logout', 
admin: '/', 
})); 

router.get('/users',function(req, res, next) { 
var token=req.headers['authorization']; //Access token received from front end 

//Now how to authenticate this token with keycloak??? 

}); 

Я также включил файл keycloak.json в корневую папку моего проекта.

ответ

0

Посмотрите на функцию keycloak.protect(). Используйте его для аутентификации вашего маршрута.

router.get('/users',keycloak.protect(),function(req, res, next) { 

}); 
+0

просто добавив keycloak.protect(), он будет автоматически проверять подлинность моего маркера доступа носителя? –

+0

Я не использовал только на предъявителя, но так думаю. – rckrd

+0

Попробуйте список рассылки пользователей: https://lists.jboss.org/mailman/listinfo/keycloak-user – rckrd

 Смежные вопросы

  • Нет связанных вопросов^_^