hardcode-fix #25

Merged
Ajdj100 merged 3 commits from hardcode-fix into main 2025-11-19 19:58:38 -06:00
4 changed files with 32 additions and 8 deletions

19
api/.env.example Normal file
View File

@@ -0,0 +1,19 @@
# DATABASE SETTINGS
DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
# AUTH SETTINGS
AUTH_DOMAIN=
AUTH_ISSUER=
AUTH_CLIENT_ID=
AUTH_CLIENT_SECRET=
AUTH_REDIRECT_URI=
AUTH_REVOCATION_URI=
# AUTH_MODE=mock #uncomment this to bypass authentik
# SERVER SETTINGS
SERVER_PORT=3000

View File

@@ -12,9 +12,9 @@ const querystring = require('querystring');
passport.use(new OpenIDConnectStrategy({
issuer: process.env.AUTH_ISSUER,
authorizationURL: 'https://sso.iceberg-gaming.com/application/o/authorize/',
tokenURL: 'https://sso.iceberg-gaming.com/application/o/token/',
userInfoURL: 'https://sso.iceberg-gaming.com/application/o/userinfo/',
authorizationURL: process.env.AUTH_DOMAIN +'/authorize/',
tokenURL: process.env.AUTH_DOMAIN +'/token/',
userInfoURL: process.env.AUTH_DOMAIN +'/userinfo/',
clientID: process.env.AUTH_CLIENT_ID,
clientSecret: process.env.AUTH_CLIENT_SECRET,
callbackURL: process.env.AUTH_REDIRECT_URI,
@@ -69,7 +69,7 @@ router.get('/login', (req, res, next) => {
// router.get('/callback', (req, res, next) => {
// passport.authenticate('openidconnect', {
// successRedirect: req.session.redirectTo,
// failureRedirect: 'https://aj17thdev.nexuszone.net/'
// failureRedirect: process.env.BASE_URL
// })
// });
@@ -77,13 +77,13 @@ router.get('/callback', (req, res, next) => {
const redirectURI = req.session.redirectTo;
passport.authenticate('openidconnect', (err, user) => {
if (err) return next(err);
if (!user) return res.redirect('https://aj17thdev.nexuszone.net/');
if (!user) return res.redirect(process.env.BASE_URL);
req.logIn(user, err => {
if (err) return next(err);
// Use redirect saved from session
const redirectTo = redirectURI || 'https://aj17thdev.nexuszone.net/';
const redirectTo = redirectURI || process.env.BASE_URL;
delete req.session.redirectTo;
return res.redirect(redirectTo);
});
@@ -95,7 +95,7 @@ router.post('/logout', function (req, res, next) {
if (err) { return next(err); }
var params = {
client_id: process.env.AUTH_CLIENT_ID,
returnTo: 'https://aj17thdev.nexuszone.net/'
returnTo: process.env.BASE_URL
};
res.redirect(process.env.AUTH_DOMAIN + '/v2/logout?' + querystring.stringify(params));
});

2
ui/.env.example Normal file
View File

@@ -0,0 +1,2 @@
# SITE SETTINGS
BASE_URL=

View File

@@ -37,6 +37,9 @@ const router = createRouter({
]
})
const addr = import.meta.env.BASE_URL;
router.beforeEach(async (to) => {
const user = useUserStore()
@@ -49,7 +52,7 @@ router.beforeEach(async (to) => {
if (to.meta.requiresAuth && !user.isLoggedIn) {
// Redirect back to original page after login
const redirectUrl = encodeURIComponent(window.location.origin + to.fullPath)
window.location.href = `https://aj17thdevapi.nexuszone.net/login?redirect=${redirectUrl}`
window.location.href = `${addr}/login?redirect=${redirectUrl}`
return false // Prevent Vue Router from continuing
}