if @Produces can produce null e.g.
@Produces
@Default
@RequestScoped
public KeycloakSecurityContext keycloakSecurityContext() {
if (httpServletRequest.getUserPrincipal() instanceof
KeycloakPrincipal) {
KeycloakPrincipal<KeycloakSecurityContext> keycloakPrincipal =
(KeycloakPrincipal<KeycloakSecurityContext>)
httpServletRequest.getUserPrincipal();
return keycloakPrincipal.getKeycloakSecurityContext();
}
return null;
}
then i get
Caused by:
javax.enterprise.inject.IllegalProductException - WebBeans producer :
keycloakSecurityContext return type in the component implementation
class : uk.me.kissy.external.producers.SecurityProducer scope type must
be @Dependent to create null instance
at
org.apache.webbeans.util.WebBeansUtil.checkNullInstance(WebBeansUtil.java:902)
I can't add @Dependent to the KeycloakSecurityContext class but if I add
it to keycloakSecurityContext() i get
org.apache.openejb.cdi.OpenEJBLifecycle.startApplication CDI Beans
module deployment failed
org.apache.webbeans.exception.WebBeansConfigurationException:
Annotated producer method : public org.keycloak.KeycloakSecurityContext
uk.me.kissy.external.producers.SecurityProducer.token()must declare
default @Scope annotation