Hello Manoj and Ntando, If I got it, the application.properties should be injected to the Anubis Library (at compile or runtime as spring boot file parameter).
https://raw.githubusercontent.com/fintecheando/fineract-cn-anubis-1/develop/library/src/main/resources/application.properties This can be changed, depending on the use case (using or not the Keycloak) I have put for now the variables in the library to disable the use of Keycloak just as you have shared in plain text. I will test as is and go back for any query. Thank you. Regards Victor El mar, 10 ago 2021 a las 2:24, Manoj VM (<ma...@fynarfin.io>) escribió: > Hi Victor, > > As Ntando pointed out, the latest PR calls for adding some additional > configurations to application.properties. > > This will make Anubis work normally. We will add these configurations to > the documentation soon. > > > keycloak.enabled=false > authentication.service.keycloak=false > authentication.service.anubis=true > keycloak.auth-server-url=keycloakAuthUrl > keycloak.realm=keycloakRealm > keycloak.resource=keycloakClient > keycloak.public-client=true > keycloak.principal-attribute=preferred_username > keycloak.bearer-only=true > fin.keycloak.realm.publicKey=publicKeyFromKeycloak > keycloak.use-resource-role-mappings = true > conf.enableAccountLevelAccessVerification=false > > On Tue, 10 Aug, 2021, 12:39 Ntando Mngomezulu, <nta...@nasasa.org.za> > wrote: > >> Good morning Victor, >> >> >> >> The recent changes to Anubis were in order to enable the use of >> alternative authentication servers. Here is a redacted example of the >> config map I am using, >> >> >> >> >> >> By setting the enableAccountLevelAccessVerification accordingly, you >> should resolve the error shown. >> >> >> >> Regards >> >> Ntando >> >> >> >> *From:* VICTOR MANUEL ROMERO RODRIGUEZ <victor.rom...@fintecheando.mx> >> *Sent:* Tuesday, 10 August 2021 08:42 >> *To:* dev@fineract.apache.org >> *Subject:* Anubis issue >> >> >> >> Hello, >> >> >> >> Now with some recent changes the Anubis library is throwing errors >> related to the AccountLevelAccessVerifierCustom injected dependency. This >> error occurs while running the Provisioner micro service. >> >> >> >> We are using the latest version of the development branch of the >> Fineract-CN repositories. Maybe there is a pending PR ? >> >> >> >> Regards >> >> >> >> Victor >> >> >> >> 01:37:39.072 [main] WARN o.s.boot.SpringApplication - Error handling >> failed (Error creating bean with name 'delegatingApplicationListener' >> defined in class path resource >> [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: >> BeanPostProcessor before instantiation of bean failed; nested exception is >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean with name >> 'org.springframework.transaction.config.internalTransactionAdvisor' defined >> in class path resource >> [org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.class]: >> Bean instantiation via factory method failed; nested exception is >> org.springframework.beans.BeanInstantiationException: Failed to instantiate >> [org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor]: >> Factory method 'transactionAdvisor' threw exception; nested exception is >> java.lang.NullPointerException) >> 01:37:39.077 [main] ERROR o.s.boot.SpringApplication - Application >> startup failed >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean with name >> 'org.apache.fineract.cn.anubis.security.AccountLevelAccessVerifierCustom': >> Injection of autowired dependencies failed; nested exception is >> java.lang.IllegalArgumentException: Could not resolve placeholder >> 'conf.enableAccountLevelAccessVerification' in string value >> "${conf.enableAccountLevelAccessVerification}" >> at >> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:355) >> at >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1219) >> at >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) >> at >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) >> at >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) >> at >> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:751) >> at >> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861) >> at >> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) >> at >> org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) >> at >> org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) >> at >> org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) >> at >> org.springframework.boot.SpringApplication.run(SpringApplication.java:315) >> at >> org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) >> at >> org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) >> at >> org.apache.fineract.cn.provisioner.ProvisionerApplication.main(ProvisionerApplication.java:33) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:498) >> at >> org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) >> at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) >> at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) >> at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) >> Caused by: java.lang.IllegalArgumentException: Could not resolve >> placeholder 'conf.enableAccountLevelAccessVerification' in string value >> "${conf.enableAccountLevelAccessVerification}" >> > > Disclaimer: > > Privileged & confidential information is contained in this message > (including all attachments). If you are not an intended recipient of this > message, please destroy this message immediately and kindly notify > the sender by reply e-mail. Any unauthorised use or dissemination of this > message in any manner whatsoever, in whole or in part, is strictly > prohibited. This e-mail, including all attachments hereto, (i) is for > discussion purposes only and shall not be deemed or construed to be a > professional opinion unless expressly stated otherwise, and (ii) is not > intended, written or sent to be used, and cannot and shall not be used, for > any unlawful purpose. This communication, including any attachments, may > not be free of viruses, interceptions or interference, and may not be > compatible with your systems. You should carry out your own virus checks > before opening any attachment to this e-mail. The sender of this e-mail and > *Fynarfin Tech Private Limited* shall not be liable for any damage that > you may sustain as a result of viruses, incompleteness of this message, a > delay in receipt of this message or computer problems experienced. >