Merge branch 'main' into Training-Report
This commit is contained in:
19
api/.env.example
Normal file
19
api/.env.example
Normal 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
|
||||||
|
|
||||||
@@ -12,9 +12,9 @@ const querystring = require('querystring');
|
|||||||
|
|
||||||
passport.use(new OpenIDConnectStrategy({
|
passport.use(new OpenIDConnectStrategy({
|
||||||
issuer: process.env.AUTH_ISSUER,
|
issuer: process.env.AUTH_ISSUER,
|
||||||
authorizationURL: 'https://sso.iceberg-gaming.com/application/o/authorize/',
|
authorizationURL: process.env.AUTH_DOMAIN +'/authorize/',
|
||||||
tokenURL: 'https://sso.iceberg-gaming.com/application/o/token/',
|
tokenURL: process.env.AUTH_DOMAIN +'/token/',
|
||||||
userInfoURL: 'https://sso.iceberg-gaming.com/application/o/userinfo/',
|
userInfoURL: process.env.AUTH_DOMAIN +'/userinfo/',
|
||||||
clientID: process.env.AUTH_CLIENT_ID,
|
clientID: process.env.AUTH_CLIENT_ID,
|
||||||
clientSecret: process.env.AUTH_CLIENT_SECRET,
|
clientSecret: process.env.AUTH_CLIENT_SECRET,
|
||||||
callbackURL: process.env.AUTH_REDIRECT_URI,
|
callbackURL: process.env.AUTH_REDIRECT_URI,
|
||||||
@@ -69,7 +69,7 @@ router.get('/login', (req, res, next) => {
|
|||||||
// router.get('/callback', (req, res, next) => {
|
// router.get('/callback', (req, res, next) => {
|
||||||
// passport.authenticate('openidconnect', {
|
// passport.authenticate('openidconnect', {
|
||||||
// successRedirect: req.session.redirectTo,
|
// 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;
|
const redirectURI = req.session.redirectTo;
|
||||||
passport.authenticate('openidconnect', (err, user) => {
|
passport.authenticate('openidconnect', (err, user) => {
|
||||||
if (err) return next(err);
|
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 => {
|
req.logIn(user, err => {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
|
|
||||||
// Use redirect saved from session
|
// Use redirect saved from session
|
||||||
const redirectTo = redirectURI || 'https://aj17thdev.nexuszone.net/';
|
const redirectTo = redirectURI || process.env.BASE_URL;
|
||||||
delete req.session.redirectTo;
|
delete req.session.redirectTo;
|
||||||
return res.redirect(redirectTo);
|
return res.redirect(redirectTo);
|
||||||
});
|
});
|
||||||
@@ -95,7 +95,7 @@ router.post('/logout', function (req, res, next) {
|
|||||||
if (err) { return next(err); }
|
if (err) { return next(err); }
|
||||||
var params = {
|
var params = {
|
||||||
client_id: process.env.AUTH_CLIENT_ID,
|
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));
|
res.redirect(process.env.AUTH_DOMAIN + '/v2/logout?' + querystring.stringify(params));
|
||||||
});
|
});
|
||||||
|
|||||||
2
ui/.env.example
Normal file
2
ui/.env.example
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# SITE SETTINGS
|
||||||
|
BASE_URL=
|
||||||
@@ -24,9 +24,10 @@ const userStore = useUserStore();
|
|||||||
// console.log(data);
|
// console.log(data);
|
||||||
// userStore.user = data;
|
// userStore.user = data;
|
||||||
// });
|
// });
|
||||||
|
const APIHOST = import.meta.env.VITE_APIHOST;
|
||||||
|
|
||||||
async function logout() {
|
async function logout() {
|
||||||
await fetch(`${import.meta.env.VITE_APIHOST}/logout`, {
|
await fetch(`${APIHOST}/logout`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
credentials: 'include',
|
credentials: 'include',
|
||||||
});
|
});
|
||||||
@@ -112,7 +113,7 @@ function formatDate(dateStr) {
|
|||||||
</DropdownMenuContent>
|
</DropdownMenuContent>
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
|
|
||||||
<a v-else href="https://aj17thdevapi.nexuszone.net/login">Login</a>
|
<a v-else :href="APIHOST+'/login'">Login</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Separator></Separator>
|
<Separator></Separator>
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ const router = createRouter({
|
|||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const addr = import.meta.env.VITE_APIHOST;
|
||||||
|
|
||||||
|
|
||||||
router.beforeEach(async (to) => {
|
router.beforeEach(async (to) => {
|
||||||
const user = useUserStore()
|
const user = useUserStore()
|
||||||
|
|
||||||
@@ -48,13 +51,13 @@ router.beforeEach(async (to) => {
|
|||||||
await user.loadUser();
|
await user.loadUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
// // Not logged in
|
// Not logged in
|
||||||
// if (to.meta.requiresAuth && !user.isLoggedIn) {
|
if (to.meta.requiresAuth && !user.isLoggedIn) {
|
||||||
// // Redirect back to original page after login
|
// Redirect back to original page after login
|
||||||
// const redirectUrl = encodeURIComponent(window.location.origin + to.fullPath)
|
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
|
return false // Prevent Vue Router from continuing
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
// // Must be a member
|
// // Must be a member
|
||||||
|
|||||||
Reference in New Issue
Block a user