Any ideas guys?

Regards,
Hanen

On Fri, Nov 18, 2016 at 4:38 PM, Hanen Ben Rhouma <[email protected]>
wrote:

> Hello,
>
> The tutorial doesn't answer the question "how can I interface with a REST
> API", there are many examples around custom JDBC stores but for REST calls
> I couldn't find anything.
> There are other examples about transforming WSO2 OSGi bundles into REST
> APIs but this not what I'm looking for.
> The idea is to inherit from AbstractUserStoreManager and override its
> methods in order to communicate with a third party REST API to retrieve
> user details and roles without having to mention a JDBC or LDAP store
> properties in user-mgt.xml.
>
> Is this feasible guys?
>
>
>
> Regards,
> Hanen
>
> On Thu, Nov 3, 2016 at 9:53 AM, Hanen Ben Rhouma <[email protected]>
> wrote:
>
>> Thanks Gayan,
>>
>> I followed the blog entry but now I'm receiving another kind of error
>> related to domain name:
>>
>> [2016-11-03 09:50:15,556] ERROR {org.wso2.carbon.identity.user
>> .store.configuration.UserStoreConfigAdminService} -   Error occurred
>> during the transformation process of C:\Users\rhoumah\DOCUME~1\LMR\
>> WSO2\WSO2IS~1.0\bin\..\repository\deployment\server\userstores\custom.xml
>> org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreMgtException:
>>  Error occurred during the transformation process of
>> C:\Users\rhoumah\DOCUME~1\LMR\WSO2\WSO2IS~1.0\bin\..\reposit
>> ory\deployment\server\userstores\custom.xml
>>         at org.wso2.carbon.identity.user.store.configuration.UserStoreC
>> onfigAdminService.writeUserMgtXMLFile(UserStoreConfigAdminSe
>> rvice.java:831)
>>         at org.wso2.carbon.identity.user.store.configuration.UserStoreC
>> onfigAdminService.addUserStore(UserStoreConfigAdminService.java:270)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>> ssorImpl.java:62)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>> thodAccessorImpl.java:43)
>>         at java.lang.reflect.Method.invoke(Method.java:498)
>>         at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(
>> RPCUtil.java:212)
>>         at org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invo
>> keBusinessLogic(RPCInOnlyMessageReceiver.java:66)
>>         at org.apache.axis2.receivers.AbstractMessageReceiver.receive(A
>> bstractMessageReceiver.java:110)
>>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:
>> 180)
>>         at org.apache.axis2.transport.local.LocalTransportReceiver.proc
>> essMessage(LocalTransportReceiver.java:169)
>>         at org.apache.axis2.transport.local.LocalTransportReceiver.proc
>> essMessage(LocalTransportReceiver.java:82)
>>         at org.wso2.carbon.core.transports.local.CarbonLocalTransportSe
>> nder.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
>>         at org.apache.axis2.transport.local.LocalTransportSender.invoke
>> (LocalTransportSender.java:77)
>>         at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>         at org.apache.axis2.description.OutInAxisOperationClient.send(O
>> utInAxisOperation.java:430)
>>         at org.apache.axis2.description.OutInAxisOperationClient.execut
>> eImpl(OutInAxisOperation.java:225)
>>         at org.apache.axis2.client.OperationClient.execute(OperationCli
>> ent.java:149)
>>         at org.wso2.carbon.identity.user.store.configuration.stub.UserS
>> toreConfigAdminServiceStub.addUserStore(UserStoreConfigAd
>> minServiceStub.java:889)
>>         at org.wso2.carbon.identity.user.store.configuration.ui.client.
>> UserStoreConfigAdminServiceClient.addUserStore(UserStoreConf
>> igAdminServiceClient.java:95)
>>         at org.apache.jsp.userstore_005fconfig.userstore_002dconfig_
>> 002dfinish_002dajaxprocessor_jsp._jspService(userstore_002d
>> config_002dfinish_002dajaxprocessor_jsp.java:198)
>>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.
>> java:70)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServl
>> etWrapper.java:439)
>>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServl
>> et.java:395)
>>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java
>> :339)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>         at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
>>         at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.
>> java:80)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>         at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.se
>> rvice(ContextPathServletAdaptor.java:37)
>>         at org.eclipse.equinox.http.servlet.internal.ServletRegistratio
>> n.service(ServletRegistration.java:61)
>>         at org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce
>> ssAlias(ProxyServlet.java:128)
>>         at org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi
>> ce(ProxyServlet.java:68)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>>         at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service
>> (DelegationServlet.java:68)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:303)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>         at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte
>> r.java:52)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>         at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilte
>> r(HttpHeaderSecurityFilter.java:120)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>         at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilte
>> r(CharacterSetFilter.java:61)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>         at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilte
>> r(HttpHeaderSecurityFilter.java:120)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>> lter(ApplicationFilterChain.java:241)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>> licationFilterChain.java:208)
>>         at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
>> dWrapperValve.java:218)
>>         at org.apache.catalina.core.StandardContextValve.invoke(Standar
>> dContextValve.java:122)
>>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
>> uthenticatorBase.java:505)
>>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
>> stValve.java:169)
>>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
>> rtValve.java:103)
>>         at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInv
>> ocation(CompositeValve.java:99)
>>         at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke
>> (CarbonTomcatValve.java:47)
>>         at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tena
>> ntLazyLoaderValve.java:57)
>>         at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invok
>> eValves(TomcatValveContainer.java:47)
>>         at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Comp
>> ositeValve.java:62)
>>         at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetection
>> Valve.invoke(CarbonStuckThreadDetectionValve.java:159)
>>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogVa
>> lve.java:956)
>>         at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.
>> invoke(CarbonContextCreatorValve.java:57)
>>         at org.apache.catalina.core.StandardEngineValve.invoke(Standard
>> EngineValve.java:116)
>>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>> apter.java:442)
>>         at org.apache.coyote.http11.AbstractHttp11Processor.process(Abs
>> tractHttp11Processor.java:1082)
>>         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler
>> .process(AbstractProtocol.java:623)
>>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
>> (NioEndpoint.java:1756)
>>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(
>> NioEndpoint.java:1715)
>>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>> Executor.java:1142)
>>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>> lExecutor.java:617)
>>         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.
>> run(TaskThread.java:61)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by: javax.xml.transform.TransformerException:
>> java.io.FileNotFoundException: C:\Users\rhoumah\DOCUME%7E1\LM
>> R\WSO2\WSO2IS%7E1.0\bin\..\repository\deployment\server\userstores\custom.xml
>> (The system cannot find the path specified)
>>         at org.apache.xalan.transformer.TransformerIdentityImpl.createR
>> esultContentHandler(TransformerIdentityImpl.java:297)
>>         at org.apache.xalan.transformer.TransformerIdentityImpl.transfo
>> rm(TransformerIdentityImpl.java:330)
>>         at org.wso2.carbon.identity.user.store.configuration.UserStoreC
>> onfigAdminService.writeUserMgtXMLFile(UserStoreConfigAdminSe
>> rvice.java:825)
>>
>>
>> How can I configure the domain in order for WSO2 IS to generate the
>> required XML file?
>>
>>
>> Regards,
>>
>>
>> *Hanen Ben Rhouma*
>> *Java Tech Lead*
>>
>> On Wed, Nov 2, 2016 at 7:14 PM, Gayan Gunawardana <[email protected]> wrote:
>>
>>>
>>>
>>> On Wed, Nov 2, 2016 at 8:53 PM, Hanen Ben Rhouma <[email protected]>
>>> wrote:
>>>
>>>> Thanks for the reply Gayan,
>>>>
>>>> Actually I'm facing an issue while trying to deploy the custom user
>>>> store jar file under WSO2 IS, though I put it in
>>>> <PRODUCT_HOME>/repository/components/dropins and changed
>>>> <PRODUCT_HOME>/repository/conf/user-mgt.xml according to the
>>>> documentation I'm receiving a ClassNotFound error:
>>>>
>>>> [2016-11-02 16:16:03,660] ERROR 
>>>> {org.wso2.carbon.user.core.common.DefaultRealm}
>>>> -  com.wso2.custom.usermgt.CustomUserStoreManager cannot be found by
>>>> org.wso2.carbon.user.core_4.4.9Type class
>>>> java.lang.ClassNotFoundException
>>>> org.wso2.carbon.user.core.UserStoreException:
>>>> com.wso2.custom.usermgt.CustomUserStoreManager cannot be found by
>>>> org.wso2.carbon.user.core_4.4.9Type class
>>>> java.lang.ClassNotFoundException
>>>>         at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWi
>>>> thOptions(DefaultRealm.java:401)
>>>>         at org.wso2.carbon.user.core.common.DefaultRealm.initializeObje
>>>> cts(DefaultRealm.java:222)
>>>>         at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRe
>>>> alm.java:127)
>>>>         at org.wso2.carbon.user.core.common.DefaultRealmService.initial
>>>> izeRealm(DefaultRealmService.java:263)
>>>>         at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(
>>>> DefaultRealmService.java:100)
>>>>         at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(
>>>> DefaultRealmService.java:113)
>>>>         at org.wso2.carbon.user.core.internal.Activator.startDeploy(Act
>>>> ivator.java:68)
>>>>         at org.wso2.carbon.user.core.internal.BundleCheckActivator.star
>>>> t(BundleCheckActivator.java:61)
>>>>         at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1
>>>> .run(BundleContextImpl.java:711)
>>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>>         at org.eclipse.osgi.framework.internal.core.BundleContextImpl.s
>>>> tartActivator(BundleContextImpl.java:702)
>>>>         at org.eclipse.osgi.framework.internal.core.BundleContextImpl.s
>>>> tart(BundleContextImpl.java:683)
>>>>         at org.eclipse.osgi.framework.internal.core.BundleHost.startWor
>>>> ker(BundleHost.java:381)
>>>>         at org.eclipse.osgi.framework.internal.core.AbstractBundle.resu
>>>> me(AbstractBundle.java:390)
>>>>         at org.eclipse.osgi.framework.internal.core.Framework.resumeBun
>>>> dle(Framework.java:1176)
>>>>         at org.eclipse.osgi.framework.internal.core.StartLevelManager.r
>>>> esumeBundles(StartLevelManager.java:559)
>>>>         at org.eclipse.osgi.framework.internal.core.StartLevelManager.r
>>>> esumeBundles(StartLevelManager.java:544)
>>>>         at org.eclipse.osgi.framework.internal.core.StartLevelManager.i
>>>> ncFWSL(StartLevelManager.java:457)
>>>>         at org.eclipse.osgi.framework.internal.core.StartLevelManager.d
>>>> oSetStartLevel(StartLevelManager.java:243)
>>>>         at org.eclipse.osgi.framework.internal.core.StartLevelManager.d
>>>> ispatchEvent(StartLevelManager.java:438)
>>>>         at org.eclipse.osgi.framework.internal.core.StartLevelManager.d
>>>> ispatchEvent(StartLevelManager.java:1)
>>>>         at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEve
>>>> nt(EventManager.java:230)
>>>>         at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread
>>>> .run(EventManager.java:340)
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> com.wso2.custom.usermgt.CustomUserStoreManager cannot be found by
>>>> org.wso2.carbon.user.core_4.4.9
>>>>         at org.eclipse.osgi.internal.loader.BundleLoader.findClassInter
>>>> nal(BundleLoader.java:501)
>>>>         at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund
>>>> leLoader.java:421)
>>>>         at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund
>>>> leLoader.java:412)
>>>>         at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa
>>>> dClass(DefaultClassLoader.java:107)
>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>         at java.lang.Class.forName0(Native Method)
>>>>         at java.lang.Class.forName(Class.java:264)
>>>>         at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWi
>>>> thOptions(DefaultRealm.java:345)
>>>>
>>>>
>>>> Is there a missing config step in order to load the new jar?
>>>>
>>> According to exception I guess 
>>> com.wso2.custom.usermgt.CustomUserStoreManager
>>> was not added to OSGI environment. You have to register
>>> CustomUserStoreManager as an OSGI service.
>>>
>>>  CustomUserStoreManager customUserStoreManager = new 
>>> CustomUserStoreManager();
>>>  ctxt.getBundleContext().registerService(UserStoreManager.class.getName(), 
>>> customUserStoreManager, props);
>>>
>>> Please try sample code provided in [1].
>>>
>>> [1]http://isurad.blogspot.com/2016/03/how-to-write-custom-us
>>> er-store-manager.html
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>>
>>>> *Hanen Ben Rhouma*
>>>> *Java Tech Lead*
>>>>
>>>> On Tue, Nov 1, 2016 at 2:10 AM, Gayan Gunawardana <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Hanen,
>>>>>
>>>>> On Mon, Oct 31, 2016 at 9:57 PM, Hanen Ben Rhouma <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Thanks guys for your help but I guess I didn't explain it well;
>>>>>> Actually, I'm looking for a step by step configuration that allows me to
>>>>>> create an identity provider which jumps to our DB or any other inhouse
>>>>>> endpoint (it can be a REST endpoint) in order to retrieve user details 
>>>>>> and
>>>>>> aggregate them within the SAML token. Is there a way to do it through 
>>>>>> WSO2
>>>>>> IS?
>>>>>>
>>>>> You can write custom user store manager according to [1] and override 
>>>>> doAuthenticate,
>>>>> doGetUserClaimValue methods to jump into your DB or REST endpoint.
>>>>> Once you have custom user store, you can configure a service provider
>>>>> in WSO2 IS with SAML inbound protocol.
>>>>>
>>>>> [1] https://docs.wso2.com/display/IS520/Writing+a+Custom+User+St
>>>>> ore+Manager
>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> Hanen
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Oct 28, 2016 at 8:07 PM, Gayan Gunawardana <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Oct 28, 2016 at 2:54 PM, Lakshani Gamage <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Hanen,
>>>>>>>>
>>>>>>>> This article [1] contains how to communicate Identity server with
>>>>>>>> REST APIs. It will be a help to your POC.
>>>>>>>>
>>>>>>>> [1] http://wso2.com/library/articles/2016/10/article-exposing-ws
>>>>>>>> o2-identity-server-admin-services-the-rest-way/
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Lakshani
>>>>>>>>
>>>>>>>> On Fri, Oct 28, 2016 at 1:22 PM, Ben Rhouma, Hanen (FircoSoft) <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> We’re working on a POC related to Authentication and Identity
>>>>>>>>> Management using WSO2. We’re looking for a way to configure the 
>>>>>>>>> Identity
>>>>>>>>> Provider to communicate with a REST API or even a database in order to
>>>>>>>>> retrieve more details about the user trying to authenticate so that 
>>>>>>>>> those
>>>>>>>>> details can be used to generate the token.
>>>>>>>>>
>>>>>>>> What sort of token you expect to generate ?
>>>>>>> If you are looking for REST way to get authenticated user
>>>>>>> information OIDC might help[1]. If you can explain exact use case we can
>>>>>>> help you more.
>>>>>>>
>>>>>>> [1]https://docs.wso2.com/display/IS520/OpenID+Connect
>>>>>>>
>>>>>>>> Is there a tutorial or a documentation part which can point us
>>>>>>>>> directly to such use case implementation?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>>
>>>>>>>>> Hanen
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Dev mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Lakshani Gamage
>>>>>>>>
>>>>>>>> *Software Engineer, WSO2*
>>>>>>>>
>>>>>>>> *Mobile : +94 71 5478184 <%2B94%20%280%29%20773%20451194>*
>>>>>>>> *Blog : http://lakshanigamage.blogspot.com/
>>>>>>>> <http://lakshanigamage.blogspot.com/>*
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Gayan Gunawardana
>>>>>>> Software Engineer; WSO2 Inc.; http://wso2.com/
>>>>>>> Email: [email protected]
>>>>>>> Mobile: +94 (71) 8020933
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dev mailing list
>>>>>>> [email protected]
>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Gayan Gunawardana
>>>>> Software Engineer; WSO2 Inc.; http://wso2.com/
>>>>> Email: [email protected]
>>>>> Mobile: +94 (71) 8020933
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Gayan Gunawardana
>>> Software Engineer; WSO2 Inc.; http://wso2.com/
>>> Email: [email protected]
>>> Mobile: +94 (71) 8020933
>>>
>>
>>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to