get ServiceConfiguration from server

This commit is contained in:
viehlieb 2022-07-08 16:48:06 +02:00
parent ee254cb9c8
commit c5dd0b729d
4 changed files with 59 additions and 55 deletions

View file

@ -58,7 +58,6 @@ Template.userFormsLayout.onCreated(function () {
options = {
loginStyle: AccountsTemplates.options.socialLoginStyle,
};
console.log('options :',JSON.stringify(options,null,2));
Meteor.loginWithOidc(options);
}
else console.log("oidc redirect not set");

View file

@ -229,10 +229,10 @@ if (Meteor.isServer) {
]);
}
function loadOidcConfig(){
config = ServiceConfiguration.configurations.findOne({service: 'oidc'});
configKeys = Object.keys(config);
return Object.keys(config).length > 0;
function loadOidcConfig(service){
check(service, String);
var config = ServiceConfiguration.configurations.findOne({service: service});
return config;
}
function sendInvitationEmail(_id) {
@ -515,7 +515,10 @@ if (Meteor.isServer) {
return process.env.PASSWORD_LOGIN_ENABLED === 'false';
},
isOidcRedirectionEnabled(){
return process.env.OIDC_REDIRECTION_ENABLED === 'true' && loadOidcConfig();
return process.env.OIDC_REDIRECTION_ENABLED === 'true' && Object.keys(loadOidcConfig("oidc")).length > 0;
},
getServiceConfiguration(service){
return loadOidcConfig(service);
}
});
}

View file

@ -7,10 +7,7 @@ if (Meteor.isClient) {
callback = options;
options = null;
}
console.log(options.loginStyle);
console.log(callback);
var credentialRequestCompleteCallback = Accounts.oauth.credentialRequestCompleteHandler(callback);
console.log("credentialCallback",credentialRequestCompleteCallback);
Oidc.requestCredential(options, credentialRequestCompleteCallback);
};
}

View file

@ -12,16 +12,11 @@ Oidc.requestCredential = function (options, credentialRequestCompleteCallback) {
options = {};
}
var config = ServiceConfiguration.configurations.findOne({service: 'oidc'});
if (!config) {
credentialRequestCompleteCallback && credentialRequestCompleteCallback(
new ServiceConfiguration.ConfigError('Service oidc not configured.'));
return;
}
Meteor.call("getServiceConfiguration", "oidc",(_, result) => {
if (result) {
var config = result;
var credentialToken = Random.secret();
var loginStyle = OAuth._loginStyle('oidc', config, options);
// options
options = options || {};
options.client_id = config.clientId;
@ -64,4 +59,14 @@ Oidc.requestCredential = function (options, credentialRequestCompleteCallback) {
credentialToken: credentialToken,
popupOptions: popupOptions,
});
}
else
{
credentialRequestCompleteCallback && credentialRequestCompleteCallback(
new ServiceConfiguration.ConfigError('Service oidc not configured.'));
return;
}
});
};