azure aith wip

This commit is contained in:
Jan Prochazka
2024-08-02 15:12:38 +02:00
parent fc448ed578
commit 112513a569
6 changed files with 13 additions and 5 deletions

View File

@@ -389,7 +389,7 @@ module.exports = {
const { conid } = req.query; const { conid } = req.query;
const connection = await this.getCore({ conid }); const connection = await this.getCore({ conid });
const driver = requireEngineDriver(connection); const driver = requireEngineDriver(connection);
const authUrl = driver.getRedirectAuthUrl(connection); const authUrl = await driver.getRedirectAuthUrl(connection);
res.redirect(authUrl); res.redirect(authUrl);
}, },
}; };

View File

@@ -55,6 +55,9 @@ module.exports = {
} }
if (connection.passwordMode == 'askPassword' || connection.passwordMode == 'askUser') { if (connection.passwordMode == 'askPassword' || connection.passwordMode == 'askUser') {
throw new MissingCredentialsError({ conid, passwordMode: connection.passwordMode }); throw new MissingCredentialsError({ conid, passwordMode: connection.passwordMode });
}
if (connection.useRedirectDbLogin) {
throw new MissingCredentialsError({ conid, redirectToDbLogin: true });
} }
const subprocess = fork( const subprocess = fork(
global['API_PACKAGE'] || process.argv[1], global['API_PACKAGE'] || process.argv[1],

View File

@@ -67,7 +67,7 @@ module.exports = function useController(app, electron, route, controller) {
} }
if (raw) { if (raw) {
router[method](routeAction, controller[key]); router[method](routeAction, (req, res) => controller[key](req, res));
} else { } else {
router[method](routeAction, async (req, res) => { router[method](routeAction, async (req, res) => {
// if (controller._init && !controller._init_called) { // if (controller._init && !controller._init_called) {

View File

@@ -181,6 +181,11 @@
} }
}); });
export function changeConnectionBeforeSave(connection) {
if (driver?.beforeConnectionSave) return driver.beforeConnectionSave(connection);
return connection;
}
$: isConnected = $openedConnections.includes($values._id) || $openedSingleDatabaseConnections.includes($values._id); $: isConnected = $openedConnections.includes($values._id) || $openedSingleDatabaseConnections.includes($values._id);
// $: console.log('CONN VALUES', $values); // $: console.log('CONN VALUES', $values);

View File

@@ -65,7 +65,7 @@ function processApiResponse(route, args, resp) {
if (resp?.missingCredentials) { if (resp?.missingCredentials) {
if (resp.detail.redirectToDbLogin) { if (resp.detail.redirectToDbLogin) {
openWebLink('connections/dblogin'); openWebLink(`connections/dblogin?conid=${resp.detail.conid}`);
} else if (!isDatabaseLoginVisible()) { } else if (!isDatabaseLoginVisible()) {
showModal(DatabaseLoginModal, resp.detail); showModal(DatabaseLoginModal, resp.detail);
} }

View File

@@ -8,7 +8,7 @@ const AsyncLock = require('async-lock');
const nativeDriver = require('./nativeDriver'); const nativeDriver = require('./nativeDriver');
const lock = new AsyncLock(); const lock = new AsyncLock();
const { tediousConnect, tediousQueryCore, tediousReadQuery, tediousStream } = require('./tediousDriver'); const { tediousConnect, tediousQueryCore, tediousReadQuery, tediousStream } = require('./tediousDriver');
const { getAzureAuthTypes } = require('./azureAuth'); const { getAzureAuthTypes, azureGetRedirectAuthUrl } = require('./azureAuth');
const { nativeConnect, nativeQueryCore, nativeReadQuery, nativeStream } = nativeDriver; const { nativeConnect, nativeQueryCore, nativeReadQuery, nativeStream } = nativeDriver;
let requireMsnodesqlv8; let requireMsnodesqlv8;