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

Reply via email to