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:
parent
a317be66bf
commit
b4bb171d7b
@ -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.`,
|
||||
|
Loading…
Reference in New Issue
Block a user