1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-20 00:08:02 +01:00

Fix keycloak sample code eslint issues

This commit is contained in:
Mitchell Herrijgers 2019-05-19 12:52:46 +02:00 committed by Ivar Conradi Østhus
parent a317be66bf
commit b4bb171d7b

View File

@ -7,7 +7,7 @@
* keycloak should have access. You would probably limit access * keycloak should have access. You would probably limit access
* to users you trust. * to users you trust.
* *
* The implementation assumes the following environement variables: * The implementation assumes the following environment variables:
* *
* - AUTH_HOST * - AUTH_HOST
* - AUTH_REALM * - AUTH_REALM
@ -17,30 +17,26 @@
// const { User, AuthenticationRequired } = require('unleash-server'); // const { User, AuthenticationRequired } = require('unleash-server');
const { User, AuthenticationRequired } = require('../lib/server-impl.js'); const { User, AuthenticationRequired } = require('../lib/server-impl.js');
const KeycloakStrategy = require('@exlinc/keycloak-passport');
const KeycloakStrategy = require("@exlinc/keycloak-passport");
const passport = require('passport'); const passport = require('passport');
const kcConfig = { const host = `http://${process.env.AUTH_HOST}`;
host: "http://" + process.env.AUTH_HOST, const realm = process.env.AUTH_REALM;
realm: process.env.AUTH_REALM, const clientId = process.env.AUTH_CLIENT_ID;
clientId: process.env.AUTH_CLIENT_ID, const contextPath = process.env.CONTEXT_PATH;
contextPath: '', // Use when Unleash is hosted on an url like /unleash/
clientSecret: "",
};
passport.use( passport.use(
"keycloak", 'keycloak',
new KeycloakStrategy( new KeycloakStrategy(
{ {
host: kcConfig.host, host,
realm: kcConfig.realm, realm,
clientID: kcConfig.clientId, clientId,
clientSecret: "We don't need that, but is required", clientSecret: "We don't need that, but is required",
callbackURL: `${kcConfig.contextPath}/api/auth/callback`, callbackURL: `${contextPath}/api/auth/callback`,
authorizationURL: `${kcConfig.host}/auth/realms/hamis/protocol/openid-connect/auth`, authorizationURL: `${host}/auth/realms/hamis/protocol/openid-connect/auth`,
tokenURL: `${kcConfig.host}/auth/realms/hamis/protocol/openid-connect/token`, tokenURL: `${host}/auth/realms/hamis/protocol/openid-connect/token`,
userInfoURL: `${kcConfig.host}/auth/realms/hamis/protocol/openid-connect/userinfo` userInfoURL: `${host}/auth/realms/hamis/protocol/openid-connect/userinfo`,
}, },
(accessToken, refreshToken, profile, done) => { (accessToken, refreshToken, profile, done) => {
@ -61,11 +57,16 @@ function enableKeycloakOauth(app) {
passport.serializeUser((user, done) => done(null, user)); passport.serializeUser((user, done) => done(null, user));
passport.deserializeUser((user, done) => done(null, user)); passport.deserializeUser((user, done) => done(null, user));
app.get('/api/admin/login', passport.authenticate('keycloak')); app.get('/api/admin/login', passport.authenticate('keycloak'));
app.get('/api/auth/callback', passport.authenticate('keycloak'), (req, res, next) => { app.get(
res.redirect(`${kcConfig.contextPath}/`); '/api/auth/callback',
}); passport.authenticate('keycloak'),
(req, res) => {
res.redirect(`${contextPath}/`);
}
);
app.use('/api/admin/', (req, res, next) => { app.use('/api/admin/', (req, res, next) => {
if (req.user) { if (req.user) {
@ -76,7 +77,7 @@ function enableKeycloakOauth(app) {
.status('401') .status('401')
.json( .json(
new AuthenticationRequired({ new AuthenticationRequired({
path: `${kcConfig.contextPath}/api/admin/login`, path: `${contextPath}/api/admin/login`,
type: 'custom', type: 'custom',
message: `You have to identify yourself in order to use Unleash. message: `You have to identify yourself in order to use Unleash.
Click the button and follow the instructions.`, Click the button and follow the instructions.`,