Hi Kavitha, problem here is NoSuchMethodError exception. The reason for this exception is when you build the jars that method (in your case setAuthorizedUser) is available in to the compiling environment. but when your jar is in run time, that method is not available.
If I extend the lakshani's statement, initially OAuthTokenReqMessageContext class has setAuthorizedUser method that accept string argument.but later this method has changed to take User object as argument. Well my guess is, This happens because in OAuthTokenReqMessageContext in old jar provided by asela, has taken string argument, but in runtime environment available in IS 5.1.0 alpha pack has taken User object argument in the same jar. To make this scenario work, you have to recompile the source in [1] with dependencies in latest pack. old jar has compiled with oauth 4.2.3 jar. As I can see in alpha pack they are using carbon identity version as 4.6.0-M2. you have to recompile the the source with that dependency version. you will need to refectories that method (setAuthorizedUser) also. [1] https://svn.wso2.org/repos/wso2/people/asela/oauth/custom-grant/ Thanks On Mon, Sep 28, 2015 at 8:56 PM, Lakshani Gamage <[email protected]> wrote: > Hi Kavitha, > > As you can see in [1], setAuthorizedUser is taking a User object but not a > String. > > [1] > https://github.com/wso2/carbon-identity/blob/3dbd2ad3c3271943d289e2535bfb7e7bb896ba80/components/oauth/org.wso2.carbon.identity.oauth/src/main/java/org/wso2/carbon/identity/oauth2/token/OAuthTokenReqMessageContext.java > > Thanks, > Lakshani > > On Mon, Sep 28, 2015 at 3:46 PM, Kavitha Subramaniyam <[email protected]> > wrote: > >> Hi IS team, >> >> I'm getting an error[1] for Oauth2 custom grant type when generating >> access token for grant type-mobile in IS-5.1.0-Alpha and I have noticed >> that there is a resolved jira[2] says that "..fix provides support to add >> custom grant types by allowing to add grant type validators..". I have been >> added custom type following below steps. >> Appreciate if you can look into this issue and clarify for me? >> >> Steps: >> - altered identity.xml by including >> <SupportedGrantType> >> <GrantTypeName>mobile</GrantTypeName> >> >> <GrantTypeHandlerImplClass>org.soasecurity.is.oauth.grant.mobile.MobileGrant</GrantTypeHandlerImplClass> >> >> <GrantTypeValidatorImplClass>org.soasecurity.is.oauth.grant.mobile.MobileGrantValidator</GrantTypeValidatorImplClass> >> </SupportedGrantType> >> >> - copied .jar into <HOME>/repository/components/lib >> (accessed .jar, MobileGrant and MobileGrantValidator from here: >> https://svn.wso2.org/repos/wso2/people/asela/oauth/custom-grant/) >> - Start server and Created oauth app (here cuss) >> - execute below curl with relavant client_id:client_secret >> >> $ curl --user VmmZNaIRJ0U3Iz_Tanh6uH3go2ga:_yIJQ5lLVfQ_XylSguwE05rDjBYa >> -k -d "grant_type=mobile&mobileNumber=0333444" -H "Content-Type: >> application/x-www-form-urlencoded" https://localhost:9443/oauth2/token >> >> [2] https://wso2.org/jira/browse/IDENTITY-2925 >> [1] >> ------ >> >> [2015-09-28 14:13:31,916] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> Received a request : /oauth2/token >> [2015-09-28 14:13:31,917] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> ----------logging request headers.---------- >> [2015-09-28 14:13:31,917] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> authorization : Basic >> Vm1tWk5hSVJKMFUzSXpfVGFuaDZ1SDNnbzJnYTpfeUlKUTVsTFZmUV9YeWxTZ3V3RTA1ckRqQllh >> [2015-09-28 14:13:31,917] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> user-agent : curl/7.35.0 >> [2015-09-28 14:13:31,917] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - host >> : localhost:9443 >> [2015-09-28 14:13:31,917] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> accept : */* >> [2015-09-28 14:13:31,918] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> content-type : application/x-www-form-urlencoded;charset=UTF-8 >> [2015-09-28 14:13:31,918] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> content-length : 38 >> [2015-09-28 14:13:31,918] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> ----------logging request parameters.---------- >> [2015-09-28 14:13:31,918] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> grant_type - mobile >> [2015-09-28 14:13:31,918] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> client_id - null >> [2015-09-28 14:13:31,918] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - code >> - null >> [2015-09-28 14:13:31,918] DEBUG >> {org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint} - >> redirect_uri - null >> [2015-09-28 14:13:31,929] DEBUG >> {org.wso2.carbon.identity.oauth2.OAuth2Service} - Access Token request >> received for Client ID VmmZNaIRJ0U3Iz_Tanh6uH3go2ga, User ID null, Scope : >> [] and Grant Type : mobile >> [2015-09-28 14:13:31,931] DEBUG >> {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} >> - Can authenticate with client ID and Secret. Client ID: >> VmmZNaIRJ0U3Iz_Tanh6uH3go2ga >> [2015-09-28 14:13:31,932] DEBUG >> {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} >> - Grant type : mobile Strict client validation set to : null >> [2015-09-28 14:13:31,933] DEBUG >> {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Client credentials >> were available in the cache for client id : VmmZNaIRJ0U3Iz_Tanh6uH3go2ga >> [2015-09-28 14:13:31,934] DEBUG >> {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Successfully >> authenticated the client with client id : VmmZNaIRJ0U3Iz_Tanh6uH3go2ga >> [2015-09-28 14:13:31,935] INFO >> {org.soasecurity.is.oauth.grant.mobile.MobileGrant} - Mobile Grant handler >> is hit >> [2015-09-28 14:13:31,942] ERROR >> {org.apache.catalina.core.StandardWrapperValve} - Servlet.service() for >> servlet [OAuth2Endpoints] in context with path [/oauth2] threw exception >> java.lang.RuntimeException: org.apache.cxf.interceptor.Fault: >> org.wso2.carbon.identity.oauth2.token.OAuthTokenReqMessageContext.setAuthorizedUser(Ljava/lang/String;)V >> at >> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116) >> at >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:331) >> at >> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) >> at >> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239) >> at >> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) >> at >> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203) >> at >> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137) >> at >> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159) >> at >> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286) >> at >> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) >> at >> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) >> at >> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) >> at >> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) >> at >> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) >> at >> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) >> at >> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) >> at >> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) >> at >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) >> at >> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at >> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: org.apache.cxf.interceptor.Fault: >> org.wso2.carbon.identity.oauth2.token.OAuthTokenReqMessageContext.setAuthorizedUser(Ljava/lang/String;)V >> at >> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162) >> at >> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128) >> at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:194) >> at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100) >> at >> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57) >> at >> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93) >> at >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) >> ... 38 more >> Caused by: java.lang.NoSuchMethodError: >> org.wso2.carbon.identity.oauth2.token.OAuthTokenReqMessageContext.setAuthorizedUser(Ljava/lang/String;)V >> at >> org.soasecurity.is.oauth.grant.mobile.MobileGrant.validateGrant(MobileGrant.java:64) >> at >> org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer.issue(AccessTokenIssuer.java:145) >> at >> org.wso2.carbon.identity.oauth2.OAuth2Service.issueAccessToken(OAuth2Service.java:195) >> at >> org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint.getAccessToken(OAuth2TokenEndpoint.java:252) >> at >> org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint.issueAccessToken(OAuth2TokenEndpoint.java:116) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at >> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180) >> at >> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) >> ... 43 more >> ------------------------------------------- >> >> >> Thanks & Kind regards, >> >> -- >> Kavitha.S >> *Software Engineer -QA* >> Mobile : +94 (0) 771538811 <%2B94%20%280%29%20773%20451194> >> [email protected] <[email protected]> >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Lakshani Gamage > > *Software Engineer* > Mobile : +94 (0) 71 5478184 <%2B94%20%280%29%20773%20451194> > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Lakshman Udayakantha WSO2 Inc. www.wso2.com lean.enterprise.middleware Mobile: *0711241005*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
