diff --git a/api/.env.example b/api/.env.example
new file mode 100644
index 0000000..dd67aa1
--- /dev/null
+++ b/api/.env.example
@@ -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
+
diff --git a/api/src/routes/auth.js b/api/src/routes/auth.js
index a0ec0b8..2c3f1f4 100644
--- a/api/src/routes/auth.js
+++ b/api/src/routes/auth.js
@@ -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));
});
diff --git a/ui/.env.example b/ui/.env.example
new file mode 100644
index 0000000..ac971e4
--- /dev/null
+++ b/ui/.env.example
@@ -0,0 +1,2 @@
+# SITE SETTINGS
+BASE_URL=
diff --git a/ui/src/App.vue b/ui/src/App.vue
index af9f817..7277bc0 100644
--- a/ui/src/App.vue
+++ b/ui/src/App.vue
@@ -24,9 +24,10 @@ const userStore = useUserStore();
// console.log(data);
// userStore.user = data;
// });
+const APIHOST = import.meta.env.VITE_APIHOST;
async function logout() {
- await fetch(`${import.meta.env.VITE_APIHOST}/logout`, {
+ await fetch(`${APIHOST}/logout`, {
method: 'POST',
credentials: 'include',
});
@@ -112,7 +113,7 @@ function formatDate(dateStr) {
- Login
+ Login
diff --git a/ui/src/router/index.js b/ui/src/router/index.js
index b2ac33f..4aeb90c 100644
--- a/ui/src/router/index.js
+++ b/ui/src/router/index.js
@@ -40,6 +40,9 @@ const router = createRouter({
]
})
+const addr = import.meta.env.VITE_APIHOST;
+
+
router.beforeEach(async (to) => {
const user = useUserStore()
@@ -48,13 +51,13 @@ router.beforeEach(async (to) => {
await user.loadUser();
}
- // // Not logged in
- // 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}`
- // return false // Prevent Vue Router from continuing
- // }
+ // Not logged in
+ if (to.meta.requiresAuth && !user.isLoggedIn) {
+ // Redirect back to original page after login
+ const redirectUrl = encodeURIComponent(window.location.origin + to.fullPath)
+ window.location.href = `${addr}/login?redirect=${redirectUrl}`
+ return false // Prevent Vue Router from continuing
+ }
// // Must be a member