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 в корневую папку моего проекта.
просто добавив keycloak.protect(), он будет автоматически проверять подлинность моего маркера доступа носителя? –
Я не использовал только на предъявителя, но так думаю. – rckrd
Попробуйте список рассылки пользователей: https://lists.jboss.org/mailman/listinfo/keycloak-user – rckrd