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

Reply via email to