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