import org.opendaylight.aaa.cert.api.ICertificateManager;
import org.opendaylight.aaa.shiro.realm.KeystoneAuthRealm;
import org.opendaylight.aaa.shiro.realm.MoonRealm;
+import org.opendaylight.aaa.shiro.realm.TokenAuthRealm;
import org.opendaylight.aaa.tokenauthrealm.auth.TokenAuthenticators;
import org.opendaylight.aaa.web.servlet.ServletSupport;
import org.opendaylight.mdsal.binding.api.DataBroker;
@Override
public void init() {
ThreadLocals.DATABROKER_TL.set(dataBroker);
- ThreadLocals.AUTH_SETVICE_TL.set(authenticationService);
- ThreadLocals.TOKEN_AUTHENICATORS_TL.set(tokenAuthenticators);
- ThreadLocals.TOKEN_STORE_TL.set(tokenStore);
ThreadLocals.PASSWORD_HASH_SERVICE_TL.set(passwordHashService);
- try (var keyStoneLoad = KeystoneAuthRealm.prepareForLoad(certificateManager)) {
- try (var moonLoad = MoonRealm.prepareForLoad(servletSupport)) {
- // Initialize the Shiro environment from clustered-app-config
- final Ini ini = createIniFromClusteredAppConfig(shiroConfiguration);
- setIni(ini);
- ClassLoaderUtils.getWithClassLoader(AAAIniWebEnvironment.class.getClassLoader(), () -> {
- super.init();
- return null;
- });
- }
+ try (
+ var keyStoneLoad = KeystoneAuthRealm.prepareForLoad(certificateManager);
+ var moonLoad = MoonRealm.prepareForLoad(servletSupport);
+ var tokenAuthLoad = TokenAuthRealm.prepareForLoad(authenticationService, tokenAuthenticators, tokenStore)) {
+
+ // Initialize the Shiro environment from clustered-app-config
+ final Ini ini = createIniFromClusteredAppConfig(shiroConfiguration);
+ setIni(ini);
+ ClassLoaderUtils.getWithClassLoader(AAAIniWebEnvironment.class.getClassLoader(), () -> {
+ super.init();
+ return null;
+ });
} finally {
ThreadLocals.DATABROKER_TL.remove();
- ThreadLocals.AUTH_SETVICE_TL.remove();
- ThreadLocals.TOKEN_AUTHENICATORS_TL.remove();
- ThreadLocals.TOKEN_STORE_TL.remove();
ThreadLocals.PASSWORD_HASH_SERVICE_TL.remove();
}
}