Error while installing Edge UI for OPDK - ApigeeSsoJwtVerifier is not initialized

I am trying to install new Edge UI for OPDK, after complete installation when i try to access the UI at localhost:3001, I get a Pop-up asking username and password and error is generated in management server log file

2021-04-30 11:34:25,396 org: env: target: contextId: action: qtp1878992188-52 ERROR SERVICES.SECURITY - JwtAccessController.verifyWithAppropriateJwtVerifier() : ApigeeSsoJwtVerifier is not initialized, verification not possible 2021-04-30 11:34:25,397 org: env: target: contextId: action: qtp1878992188-52 ERROR REST - Authorizer.beforeInvocation() : Authorizer.beforeInvocation: Detected an authentication failure. 
2021-04-30 11:34:25,398 org: env: target: contextId: action: qtp1878992188-52 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.security.usermanagement.UserManager.getRolesForUser threw an exception. 
2021-04-30 11:34:25,398 org: env: target: contextId: action: qtp1878992188-52 ERROR REST - ExceptionMapper.toResponse() : Error occurred : Authentication failed for user : {0} 
com.apigee.security.providers.JwtAccessController.verifyWithAppropriateJwtVerifier(JwtAccessController.java:197) 
com.apigee.security.providers.JwtAccessController.handleOAuthRequest(JwtAccessController.java:135) 
com.apigee.security.providers.JwtAccessController.authenticate(JwtAccessController.java:118) 
com.apigee.rest.framework.security.authentication.ApigeeLoginModule.login(ApigeeLoginModule.java:50)

while setting up sso again got below error in sso-logs:

localhost-startStop-1 ERROR o.c.i.u.i.c.YamlConfigurationValidator - YamlConfigurationValidator.afterPropertiesSet() : Failed to load YAML validation bean. Your YAML file may be invalid. org.yaml.snakeyaml.constructor.ConstructorException: null; Can't construct a java object for tag:yaml.org,2002:org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration; exception=Cannot create property=headers for JavaBean=org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration@7c3217ec;

Unable to find property 'headers' on class: org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration; in 'string', line 1, column 1: spring_profiles: postgresql,apig ... 
Caused by: org.yaml.snakeyaml.error.YAMLException: Cannot create property=headers for JavaBean=org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration@7c3217ec; Unable to find property 'headers' on class: org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration

10978-screenshot-2021-04-30-171536.png

Solved Solved
0 4 1,222
1 ACCEPTED SOLUTION

According to Apigee support, this error message can be ignored.

With their help I was able to detect that apigee-sso setup script running endless was caused by TLS issue with Tomcat configuration, which is shown in another log beside. The certificate JKS did not have the alias as defined in the cfg file. After enriching JKS with "keytool -changealias ...", setup succeeded.

However, the setup should run into an error and abort in such a case.

View solution in original post

4 REPLIES 4

I am facing the same issue.

Just upgraded from 4.19.x to 4.50.00.08, and now trying to install apigee-sso component, which was not on the system before upgrading.

The apigee-setup of sso does not complete, it gets stuck during restart of the sso component, never ending.

apigee-service apigee-sso stop and start can be execuded successfully (also producing this error message). However, the restart initated from apigee-setup is never stopping, i have to cancel the setup using Ctrl-C.

It looks pretty much like a bug, as the error message is mentioning "spring_profiles", which is Apigee internal stuff, not exposed to regular component configuration:

2021-05-28 18:42:58,563 [xIP: | uAgent:] [transactionId: | method: | URI: | query:] localhost-startStop-1 ERROR o.c.i.u.i.c.YamlConfigurationValidator - YamlConfigurationValidator.afterPropertiesSet() : Failed to load YAML validation bean. Your YAML file may be invalid.
org.yaml.snakeyaml.constructor.ConstructorException: null; Can't construct a java object for tag:yaml.org,2002:org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration; exception=Cannot create property=headers for JavaBean=org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration@3ba09131; Unable to find property 'headers' on class: org.cloudfoundry.identity.uaa.impl.config.UaaConfiguration;  in 'string', line 1, column 1:

    spring_profiles: postgresql,apig ... 
    ^
        at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:333) ~[snakeyaml-1.12.jar:na]
[...]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
[...]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) [spring-context-4.2.2.RELEASE.jar:4.2.2.RELE[...]
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127) [catalina.jar:7.0.105]
[...]

Michael, this seems like a thing you could chase down with Apigee support.

If I were dealing with this, the first thing I would do is check the YAML file, if you have one.

I take your point that "spring_profiles" is Apigee internal stuff, not something you created directly. So maybe you are unaware of the YAML file. In which case.... Apigee support.

According to Apigee support, this error message can be ignored.

With their help I was able to detect that apigee-sso setup script running endless was caused by TLS issue with Tomcat configuration, which is shown in another log beside. The certificate JKS did not have the alias as defined in the cfg file. After enriching JKS with "keytool -changealias ...", setup succeeded.

However, the setup should run into an error and abort in such a case.

Ha, I'm glad you sorted it out with the support team. I agree (again) with your perspective: when the TLS is not properly configured, the setup should error and abort.