Re: Cannot invoke "org.ecl ipse.microprofile.auth.Log inConfig.authMethod()" bec ause "loginConfig" is null
Richard Zowalla <[email protected]> Fri, 11 Jul 2025 18:31:27 +0200
| Newsgroups | gmane.comp.java.openejb.user |
|---|---|
| Message-ID | <[email protected]> |
------RYXQ4J3V0WMKIV0SMSJ7BFC4ZLWAGZ
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: quoted-printable
Hi,
There is an example, which shows, that the basic config should work:
https://github=2Ecom/apache/tomee/blob/main/examples%2Fmp-rest-jwt-princip=
al%2Fsrc%2Fmain%2Fjava%2Forg%2Fsuperbiz%2Fstore%2Frest%2FRestApplication=2E=
java
Guess it would need a reproducer=2E The link in Jira to GitHub produces a =
404=2E
Gru=C3=9F=20
Richard=20
Am 11=2E Juli 2025 14:54:41 MESZ schrieb Java Entwicklung <javac=2Eaydic@g=
mail=2Ecom>:
>```
># Tested with:
>tomee docker image: tomee:plus
>org=2Eeclipse=2Emicroprofile=2Ejwt:microprofile-jwt-auth-api:2=2E1
>
># but same is with:
>tomee docker image: tomee:10=2E1-jre21-plus
>org=2Eeclipse=2Emicroprofile=2Ejwt:microprofile-jwt-auth-api:2=2E2-RC1
>```
>
>Hello,
>
>I created a demo Jakarta EE 10 app and configured it so it authenticates
>incoming requests to my protected resource against my Keycloak instance=
=2E
>
>It works successfully with Payara Micro 6 but with TomEE 10=2E0 (which is
>what I need and have to use) it fails on startup with the following:
>```
>11-Jul-2025 11:55:42=2E801 WARNING [main]
>org=2Eapache=2Ebatchee=2Econtainer=2Eservices=2EServicesManager=2Einit Yo=
u didn't
>specify org=2Eapache=2Ebatchee=2Ejmx=2Eapplication and JMX is already reg=
istered,
>skipping
>2025-07-11T11:55:42=2E804794711Z 11-Jul-2025 11:55:42=2E804 INFO [main]
>org=2Eapache=2Eopenejb=2Eassembler=2Eclassic=2EAssembler=2EcreateApplicat=
ion Deployed
>Application(path=3D/usr/local/tomee/webapps/demoapp)
>2025-07-11T11:55:43=2E426149580Z 11-Jul-2025 11:55:43=2E425 INFO [main]
>org=2Eapache=2Emyfaces=2Ewebapp=2EMyFacesContainerInitializer=2EonStartup=
Using
>org=2Eapache=2Emyfaces=2Ewebapp=2EMyFacesContainerInitializer
>2025-07-11T11:55:43=2E614818412Z 11-Jul-2025 11:55:43=2E614 INFO [main]
>org=2Eapache=2Emyfaces=2Ewebapp=2EMyFacesContainerInitializer=2EonStartup=
Added
>FacesServlet with mappings=3D[/faces/*, *=2Ejsf, *=2Efaces, *=2Exhtml]
>2025-07-11T11:55:43=2E628173897Z 11-Jul-2025 11:55:43=2E626 SEVERE [main]
>java=2Elang=2Ereflect=2EMethod=2Einvoke Error deploying web application a=
rchive
>[/usr/local/tomee/webapps/demoapp=2Ewar]
>2025-07-11T11:55:43=2E628209564Z java=2Elang=2EIllegalStateException: Err=
or
>starting child
>2025-07-11T11:55:43=2E628212292Z at
>org=2Eapache=2Ecatalina=2Ecore=2EContainerBase=2EaddChildInternal(Contain=
erBase=2Ejava:602)
>2025-07-11T11:55:43=2E628214272Z at
>org=2Eapache=2Ecatalina=2Ecore=2EContainerBase=2EaddChild(ContainerBase=
=2Ejava:571)
>2025-07-11T11:55:43=2E628215708Z at
>org=2Eapache=2Ecatalina=2Ecore=2EStandardHost=2EaddChild(StandardHost=2Ej=
ava:654)
>2025-07-11T11:55:43=2E628217070Z at
>org=2Eapache=2Ecatalina=2Estartup=2EHostConfig=2EdeployWAR(HostConfig=2Ej=
ava:965)
>2025-07-11T11:55:43=2E628218545Z at
>org=2Eapache=2Ecatalina=2Estartup=2EHostConfig$DeployWar=2Erun(HostConfig=
=2Ejava:1903)
>2025-07-11T11:55:43=2E628219991Z at
>java=2Ebase/java=2Eutil=2Econcurrent=2EExecutors$RunnableAdapter=2Ecall(U=
nknown
>Source)
>2025-07-11T11:55:43=2E628221298Z at
>java=2Ebase/java=2Eutil=2Econcurrent=2EFutureTask=2Erun(Unknown Source)
>2025-07-11T11:55:43=2E628222601Z at
>org=2Eapache=2Etomcat=2Eutil=2Ethreads=2EInlineExecutorService=2Eexecute(=
InlineExecutorService=2Ejava:75)
>2025-07-11T11:55:43=2E628224008Z at
>java=2Ebase/java=2Eutil=2Econcurrent=2EAbstractExecutorService=2Esubmit(U=
nknown
>Source)
>2025-07-11T11:55:43=2E628236311Z at
>org=2Eapache=2Ecatalina=2Estartup=2EHostConfig=2EdeployWARs(HostConfig=2E=
java:769)
>2025-07-11T11:55:43=2E628238350Z at
>org=2Eapache=2Ecatalina=2Estartup=2EHostConfig=2EdeployApps(HostConfig=2E=
java:420)
>2025-07-11T11:55:43=2E628239666Z at
>org=2Eapache=2Ecatalina=2Estartup=2EHostConfig=2Estart(HostConfig=2Ejava:=
1621)
>2025-07-11T11:55:43=2E628241335Z at
>org=2Eapache=2Ecatalina=2Estartup=2EHostConfig=2ElifecycleEvent(HostConfi=
g=2Ejava:303)
>2025-07-11T11:55:43=2E628255587Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2EfireLifecycleEvent(Lifec=
ycleBase=2Ejava:109)
>2025-07-11T11:55:43=2E628256899Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2EsetStateInternal(Lifecyc=
leBase=2Ejava:389)
>2025-07-11T11:55:43=2E628258590Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2EsetState(LifecycleBase=
=2Ejava:336)
>2025-07-11T11:55:43=2E628259958Z at
>org=2Eapache=2Ecatalina=2Ecore=2EContainerBase=2EstartInternal(ContainerB=
ase=2Ejava:776)
>2025-07-11T11:55:43=2E628261506Z at
>org=2Eapache=2Ecatalina=2Ecore=2EStandardHost=2EstartInternal(StandardHos=
t=2Ejava:772)
>2025-07-11T11:55:43=2E628263034Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2Estart(LifecycleBase=2Eja=
va:164)
>2025-07-11T11:55:43=2E628274187Z at
>org=2Eapache=2Ecatalina=2Ecore=2EContainerBase$StartChild=2Ecall(Containe=
rBase=2Ejava:1203)
>2025-07-11T11:55:43=2E628275693Z at
>org=2Eapache=2Ecatalina=2Ecore=2EContainerBase$StartChild=2Ecall(Containe=
rBase=2Ejava:1193)
>2025-07-11T11:55:43=2E628277030Z at
>java=2Ebase/java=2Eutil=2Econcurrent=2EFutureTask=2Erun(Unknown Source)
>2025-07-11T11:55:43=2E628280369Z at
>org=2Eapache=2Etomcat=2Eutil=2Ethreads=2EInlineExecutorService=2Eexecute(=
InlineExecutorService=2Ejava:75)
>2025-07-11T11:55:43=2E628281839Z at
>java=2Ebase/java=2Eutil=2Econcurrent=2EAbstractExecutorService=2Esubmit(U=
nknown
>Source)
>2025-07-11T11:55:43=2E628283322Z at
>org=2Eapache=2Ecatalina=2Ecore=2EContainerBase=2EstartInternal(ContainerB=
ase=2Ejava:749)
>2025-07-11T11:55:43=2E628284925Z at
>org=2Eapache=2Ecatalina=2Ecore=2EStandardEngine=2EstartInternal(StandardE=
ngine=2Ejava:203)
>2025-07-11T11:55:43=2E628286472Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2Estart(LifecycleBase=2Eja=
va:164)
>2025-07-11T11:55:43=2E628287734Z at
>org=2Eapache=2Ecatalina=2Ecore=2EStandardService=2EstartInternal(Standard=
Service=2Ejava:412)
>2025-07-11T11:55:43=2E628289236Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2Estart(LifecycleBase=2Eja=
va:164)
>2025-07-11T11:55:43=2E628290566Z at
>org=2Eapache=2Ecatalina=2Ecore=2EStandardServer=2EstartInternal(StandardS=
erver=2Ejava:870)
>2025-07-11T11:55:43=2E628292404Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2Estart(LifecycleBase=2Eja=
va:164)
>2025-07-11T11:55:43=2E628293861Z at
>org=2Eapache=2Ecatalina=2Estartup=2ECatalina=2Estart(Catalina=2Ejava:761)
>2025-07-11T11:55:43=2E628295318Z at
>java=2Ebase/jdk=2Einternal=2Ereflect=2EDirectMethodHandleAccessor=2Einvok=
e(Unknown
>Source)
>2025-07-11T11:55:43=2E628301199Z at
>java=2Ebase/java=2Elang=2Ereflect=2EMethod=2Einvoke(Unknown Source)
>2025-07-11T11:55:43=2E628302697Z at
>org=2Eapache=2Ecatalina=2Estartup=2EBootstrap=2Estart(Bootstrap=2Ejava:34=
5)
>2025-07-11T11:55:43=2E628304266Z at
>org=2Eapache=2Ecatalina=2Estartup=2EBootstrap=2Emain(Bootstrap=2Ejava:476=
)
>2025-07-11T11:55:43=2E628305690Z Caused by:
>org=2Eapache=2Ecatalina=2ELifecycleException: Failed to start component
>[StandardEngine[Catalina]=2EStandardHost[localhost]=2EStandardContext[/de=
moapp]]
>2025-07-11T11:55:43=2E628307498Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2EhandleSubClassException(=
LifecycleBase=2Ejava:406)
>2025-07-11T11:55:43=2E628309026Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2Estart(LifecycleBase=2Eja=
va:179)
>2025-07-11T11:55:43=2E628310551Z at
>org=2Eapache=2Ecatalina=2Ecore=2EContainerBase=2EaddChildInternal(Contain=
erBase=2Ejava:599)
>2025-07-11T11:55:43=2E628312065Z =2E=2E=2E 35 more
>2025-07-11T11:55:43=2E628313380Z Caused by: java=2Elang=2ENullPointerExce=
ption:
>Cannot invoke "org=2Eeclipse=2Emicroprofile=2Eauth=2ELoginConfig=2EauthMe=
thod()"
>because "loginConfig" is null
>2025-07-11T11:55:43=2E628315144Z at
>org=2Eapache=2Etomee=2Emicroprofile=2Ejwt=2EMPJWTInitializer=2EonStartup(=
MPJWTInitializer=2Ejava:45)
>2025-07-11T11:55:43=2E628316658Z at
>org=2Eapache=2Ecatalina=2Ecore=2EStandardContext=2EstartInternal(Standard=
Context=2Ejava:4464)
>2025-07-11T11:55:43=2E628320249Z at
>org=2Eapache=2Ecatalina=2Eutil=2ELifecycleBase=2Estart(LifecycleBase=2Eja=
va:164)
>2025-07-11T11:55:43=2E628321622Z =2E=2E=2E 36 more
>2025-07-11T11:55:43=2E632485224Z 11-Jul-2025 11:55:43=2E632 INFO [main]
>java=2Elang=2Ereflect=2EMethod=2Einvoke Deployment of web application arc=
hive
>[/usr/local/tomee/webapps/demoapp=2Ewar] has finished in [3,177] ms
>2025-07-11T11:55:43=2E637611803Z 11-Jul-2025 11:55:43=2E637 INFO [main]
>java=2Elang=2Ereflect=2EMethod=2Einvoke Starting ProtocolHandler ["http-n=
io-8080"]
>2025-07-11T11:55:43=2E649430271Z 11-Jul-2025 11:55:43=2E649 INFO [main]
>java=2Elang=2Ereflect=2EMethod=2Einvoke Server startup in [3311] millisec=
onds
>```
>Here's how I configured it:
>
>```
>@ApplicationScoped
>@ApplicationPath("/api")
>@LoginConfig(authMethod=3D"MP-JWT")
>@DeclareRoles({
> "admin-role",
> "user-role"
>})
>public class HelloApplication extends Application {
>
>}
>
>// is a separate class
>@Path("/v1")
>@Produces("text/plain")
>public class HelloResource {
>
> @GET
> @Path("/admin")
> @RolesAllowed("admin-role")
> public String helloAdmin() {
> return "Hello, Admin!";
> }
>
> @GET
> @Path("/user")
> public String hello() {
> return "Hello, user!";
> }
>
>}
>```
>
>In `src/main/resources/META-INF/microprofile-config=2Eproperties` I have:
>```
># JWT Configuration
>mp=2Ejwt=2Everify=2Eissuer=3Dhttp://auth=2Elocalhost:8090/realms/myrealm
>mp=2Ejwt=2Everify=2Epublickey=2Elocation=3D
>http://auth=2Elocalhost:8090/realms/myrealm/protocol/openid-connect/certs
>```
>and my `src/main/webapp/WEB-INF/web=2Exml` contains:
>```
><?xml version=3D"1=2E0" encoding=3D"UTF-8"?>
><web-app xmlns=3D"https://jakarta=2Eee/xml/ns/jakartaee"
> xmlns:xsi=3D"http://www=2Ew3=2Eorg/2001/XMLSchema-instance"
> xsi:schemaLocation=3D"https://jakarta=2Eee/xml/ns/jakartaee
>https://jakarta=2Eee/xml/ns/jakartaee/web-app_6_0=2Exsd"
> version=3D"6=2E0">
>
>
></web-app>
>```
>
>I run gradle war, mount it to my tomee container's deployment dir and sta=
rt
>it=2E Again, this exact setup worked perfectly with Payara - the idea was=
to
>make sure the config is correct before trying to solve startup issue in
>TomEE (sure, TomEE might require something differently)=2E
>
>
>Note that removing `@LoginConfig(authMethod=3D"MP-JWT")` annotation on th=
e
>class and using:
>```
><login-config>
> <auth-method>MP-JWT</auth-method>
></login-config>
>```
>doesn't have the same effect! There is no such startup error but all
>resources return `404 Not found`=2E
>
>Also note that I have tested with various other TomEE flavours of version
>10 - but no difference=2E
------RYXQ4J3V0WMKIV0SMSJ7BFC4ZLWAGZ--