Hi Kavitha, Please replace the existing setAuthorized(String str) method as per below code. We have changed it to be like setAuthorized(User user) now.
if (username.indexOf(CarbonConstants.DOMAIN_SEPARATOR) < 0 && UserCoreUtil.getDomainFromThreadLocal() != null && !"".equals(UserCoreUtil.getDomainFromThreadLocal())) { username = UserCoreUtil.getDomainFromThreadLocal() + CarbonConstants.DOMAIN_SEPARATOR + username; } tokReqMsgCtx.setAuthorizedUser(OAuth2Util. getUserFromUserName(username)); [1] - https://github.com/wso2/carbon-identity/blob/master/components/oauth/org.wso2.carbon.identity.oauth/src/main/java/org/wso2/carbon/identity/oauth2/token/handlers/grant/PasswordGrantHandler.java#L114-#L120 Thanks, Pushpalanka. -- Pushpalanka Jayawardhana, B.Sc.Eng.(Hons). Senior Software Engineer, WSO2 Lanka (pvt) Ltd; wso2.com/ Mobile: +94779716248 Blog: pushpalankajaya.blogspot.com/ | LinkedIn: lk.linkedin.com/in/pushpalanka/ | Twitter: @pushpalanka On Mon, Sep 28, 2015 at 3:46 PM, Kavitha Subramaniyam <kavi...@wso2.com> 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> > kavi...@wso2.com <thili...@wso2.com> > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev