Autentique uma API restante usando o token de acesso do keycloak (recebido do cabeçalho de Autorização na solicitação HTTP GET do front end) no nó js

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();  
};

Acima está o meu código de front-end solicitando a API REST e passando o token keycloak no cabeçalho da autorização, que será necessário para autenticação no servidor js do nó.

Agora eu queria saber como proteger minha Rest Api usando o Keycloak e autenticá-la com base no token recebido do front end e dizer se o usuário autêntico está solicitando o recurso da API restante ou não.

Eu criei uma API de descanso no nó js e usei o keycloak-connect npm packge. Mapeei o middleware nodejs com o keycloak middleware.

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???

});

Também incluí o arquivo keycloak.json na pasta raiz do meu projeto.

questionAnswers(3)

yourAnswerToTheQuestion