var fr = new JavaImporter(
org.forgerock.openam.auth.nodes,
org.forgerock.guice.core
);
with (fr) {
try {
var realm = sharedState.get('realm');
var username = sharedState.get('username');
var identityProvider = InjectorHolder.getInstance(IdentityProvider);
var identity = identityProvider.getIdentity(username, realm);
var attrs = identity.getAttributes();
if (!attrs.containsKey('fr-idm-inviteDate')) {
throw new Error('Admin has no invite date');
}
if (attrs.containsKey('fr-idm-onboardDate')) {
throw new Error('Admin has already been onboarded');
}
var objAttrs = { userName: username, mail: username };
sharedState.put('objectAttributes', objAttrs);
logger.message('AdminOnboarding: Validated admin during onboarding');
outcome = 'true';
} catch (e) {
logger.error('AdminOnboarding: Failed to validate admin during onboarding');
logger.error(e);
outcome = 'false';
}
}