Giter Site home page Giter Site logo

jboss-developer / jboss-picketlink-quickstarts Goto Github PK

View Code? Open in Web Editor NEW
95.0 28.0 191.0 2.34 MB

The quickstarts demonstrate PicketLink and a few additional technologies. They provide small, specific, working examples that can be used as a reference for your own project.

Java 65.50% CSS 1.39% HTML 19.11% JavaScript 13.99%

jboss-picketlink-quickstarts's Introduction

PicketLink Quickstarts

Introduction

These quickstarts run JBoss Enterprise Application Platform 6 and WildFly.

We recommend using the ZIP distribution file for both JBoss Enterprise Application Platform 6 and WildFly.

You can also run PicketLink in Apache TomEE or Glassfish. In this case, you may need some additional configuration in order to get them up and running. For PicketLink JEE Security examples, you must ship JBoss Logging jars in your deployments.

System Requirements

To run these quickstarts with the provided build scripts, you need the following:

  1. Java 1.6 or Java 1.7, depending if you're using JBoss EAP or WildFly to run the quickstarts. You can choose from the following:

    • OpenJDK
    • Oracle Java SE
    • Oracle JRockit
  2. Maven 3.0.0 or newer, to build and deploy the examples

    • If you have not yet installed Maven, see the Maven Getting Started Guide for details.

    • If you have installed Maven, you can check the version by typing the following in a command line:

        mvn --version
      
  3. The JBoss Enterprise Application Platform 6 distribution ZIP or the WildFly distribution ZIP.

    • For information on how to install and run those servers, refer to the their documentation.

Check Out the Source

  1. To clone this Git repository, use the following command:

     git clone [email protected]:jboss-developer/jboss-picketlink-quickstarts.git
    
  2. If you want the quickstarts for a particular version (eg.: 2.5.2.Final) execute the following command:

     cd jboss-picketlink-quickstarts
     git checkout v2.5.2.Final
    

The command above will checkout a TAG corresponding to the version you want to use. For each release of PicketLink we also release and TAG a version for the quickstarts. Each TAG uses a specific PicketLink version. Make sure you're using the TAG for the version you're looking for.

We recommend to always consider the latest version of the quickstarts, so you can check the latest changes and updates to PicketLink.

Run the Quickstarts

The root folder of each individual quickstart contains a README file with specific details on how to build and run the example. In most cases you do the following:

About the PicketLink Federation Quickstarts

The PicketLink Federation Quickstarts provide a lot of examples about how to use PicketLink Federation SAML Support to enable SSO for your applications. Before running them you need to understand how they are related with each other. Basically, each Identity Provider is meant to be used by a group of Service Providers. In order to get the whole Single Sing-On functionality demonstrated, you need to deploy them together.

SAML Configuration Identity Provider Service Provider(s)
Basic picketlink-federation-saml-idp-basic picketlink-federation-saml-sp-post-basic, picketlink-federation-saml-sp-redirect-basic
Encryption picketlink-federation-saml-idp-with-encryption picketlink-federation-saml-sp-with-encryption
Metadata picketlink-federation-saml-idp-with-metadata picketlink-federation-saml-sp-with-metadata
Signatures picketlink-federation-saml-idp-with-signature picketlink-federation-saml-sp-post-with-signature, picketlink-federation-saml-sp-redirect-with-signature
HTTP CLIENT_CERT and FORM Authentication picketlink-federation-saml-idp-ssl picketlink-federation-saml-sp-post-basic, picketlink-federation-saml-sp-redirect-basic
IDP Servlet Filter picketlink-federation-saml-idp-servlet-filter picketlink-federation-saml-sp-post-with-signature, picketlink-federation-saml-sp-redirect-with-signature

The table above describes what are the Identity Provider and Service Providers required to test a specific configuration. It is important that you respect these dependencies to get the functionality properly working.

Using SAML Tracer Firefox Add-On to Debug the SAML SSO Flow

If you want to understand even better how IdPs and SPs communicate with each other, you may want to configure the SAML Tracer Add-On to your Mozilla Firefox. This is a nice way to debug and view SAML Messages, so you can take a look on how the IdP and SP exchange messages when establishing a SSO session.

Start the JBoss Server

Before you deploy a quickstart, in most cases you need a running JBoss Enterprise Application Platform 6 or WildFlyserver. A few of the Arquillian tests do not require a running server. This will be noted in the README for that quickstart.

The JBoss server can be started a few different ways.

The README for each quickstart will specify which configuration is required to run the example.

Start the JBoss Server with the Web Profile

To start JBoss Enterprise Application Platform 6 or WildFly with the Web Profile:

  1. Open a command line and navigate to the root of the JBoss server directory.

  2. The following shows the command line to start the JBoss server with the web profile:

     For Linux:   JBOSS_HOME/bin/standalone.sh
     For Windows: JBOSS_HOME\bin\standalone.bat
    

Start the JBoss Server with the Full Profile

To start JBoss Enterprise Application Platform 6 or WildFly with the Full Profile:

  1. Open a command line and navigate to the root of the JBoss server directory.

  2. The following shows the command line to start the JBoss server with the full profile:

     For Linux:   JBOSS_HOME/bin/standalone.sh -c standalone-full.xml
     For Windows: JBOSS_HOME\bin\standalone.bat -c standalone-full.xml
    

Start the JBoss Server with Custom Configuration Options

To start JBoss Enterprise Application Platform 6 or WildFly with custom configuration options:

  1. Open a command line and navigate to the root of the JBoss server directory.

  2. The following shows the command line to start the JBoss server. Replace the CUSTOM_OPTIONS with the custom optional parameters specified in the quickstart.

     For Linux:   JBOSS_HOME/bin/standalone.sh CUSTOM_OPTIONS
     For Windows: JBOSS_HOME\bin\standalone.bat CUSTOM_OPTIONS
    

Build and Deploy the Quickstarts

See the README file in each individual quickstart folder for specific details and information on how to run and access the example.

Build the Quickstart Archive

In some cases, you may want to build the application to test for compile errors or view the contents of the archive.

  1. Open a command line and navigate to the root directory of the quickstart you want to build.

  2. Use this command if you only want to build the archive, but not deploy it:

     For EAP 6:     mvn clean package
     For WildFly:   mvn -Pwildfly clean package
    

Build and Deploy the Quickstart Archive

  1. Make sure you start the JBoss server as described in the README.

  2. Open a command line and navigate to the root directory of the quickstart you want to run.

  3. Use this command to build and deploy the archive:

     For EAP 6:     mvn clean package jboss-as:deploy
     For WildFly:   mvn -Pwildfly clean package wildfly:deploy
    

Undeploy an Archive

The command to undeploy the quickstart is simply:

    For EAP 6:     mvn jboss-as:undeploy
    For WildFly:   mvn -Pwildfly wildfly:undeploy

PicketLink Documentation

The documentation is available from the following link.

jboss-picketlink-quickstarts's People

Contributors

aldaris avatar anilsaldhana avatar ctomc avatar dizzzz avatar hodrigohamalho avatar hokuda avatar mwhidden avatar pedroigor avatar sbryzak avatar sgilda avatar the-alchemist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jboss-picketlink-quickstarts's Issues

JBAS011048: Failed to construct component instance in picketlink-authorization-idm-jpa-with-subsystem with WildFly 8.1.0

Project: picketlink-authorization-idm-jpa-with-subsystem
Tag: v2.7.0.Final

WildFly version: 8.1.0-Final

Log detail:

23:48:36,091 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.1.0.Final "Kenny" started in 7135ms - Started 404 of 463 services (101 services are lazy, passive or on-demand)
23:48:57,162 INFO  [org.jboss.as.repository] (management-handler-thread - 1) JBAS014900: Content added at location C:\eclipse-workspace\picketlink\wildfly-8.1.0.Final\standalone\data\content\fd\86131c9ae03d9b6761979cb23dfdd4f4c465ae\content
23:48:57,167 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "picketlink-authorization-idm-jpa-with-subsystem.war" (runtime-name: "picketlink-authorization-idm-jpa-with-subsystem.war")
23:48:57,253 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-6) JBAS010400: Bound data source [java:jboss/datasources/PicketLinkQuickstartDS]
23:48:57,264 INFO  [org.jboss.weld.deployer] (MSC service thread 1-7) JBAS016002: Processing weld deployment picketlink-authorization-idm-jpa-with-subsystem.war
23:48:57,300 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named LoginController in deployment unit deployment "picketlink-authorization-idm-jpa-with-subsystem.war" are as follows:

        java:global/picketlink-authorization-idm-jpa-with-subsystem/LoginController!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.LoginController
        java:app/picketlink-authorization-idm-jpa-with-subsystem/LoginController!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.LoginController
        java:module/LoginController!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.LoginController
        java:global/picketlink-authorization-idm-jpa-with-subsystem/LoginController
        java:app/picketlink-authorization-idm-jpa-with-subsystem/LoginController
        java:module/LoginController

23:48:57,302 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named SecurityInitializer in deployment unit deployment "picketlink-authorization-idm-jpa-with-subsystem.war" are as follows:

        java:global/picketlink-authorization-idm-jpa-with-subsystem/SecurityInitializer!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.SecurityInitializer
        java:app/picketlink-authorization-idm-jpa-with-subsystem/SecurityInitializer!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.SecurityInitializer
        java:module/SecurityInitializer!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.SecurityInitializer
        java:global/picketlink-authorization-idm-jpa-with-subsystem/SecurityInitializer
        java:app/picketlink-authorization-idm-jpa-with-subsystem/SecurityInitializer
        java:module/SecurityInitializer

23:48:57,305 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named AuthorizationChecker in deployment unit deployment "picketlink-authorization-idm-jpa-with-subsystem.war" are as follows:

        java:global/picketlink-authorization-idm-jpa-with-subsystem/AuthorizationChecker!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.AuthorizationChecker
        java:app/picketlink-authorization-idm-jpa-with-subsystem/AuthorizationChecker!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.AuthorizationChecker
        java:module/AuthorizationChecker!org.jboss.as.quickstarts.picketlink.authorization.idm.jpa.AuthorizationChecker
        java:global/picketlink-authorization-idm-jpa-with-subsystem/AuthorizationChecker
        java:app/picketlink-authorization-idm-jpa-with-subsystem/AuthorizationChecker
        java:module/AuthorizationChecker

23:48:57,345 INFO  [org.jboss.weld.deployer] (MSC service thread 1-15) JBAS016005: Starting Services for CDI deployment: picketlink-authorization-idm-jpa-with-subsystem.war
23:48:57,351 INFO  [org.jboss.weld.deployer] (MSC service thread 1-14) JBAS016008: Starting weld service for deployment picketlink-authorization-idm-jpa-with-subsystem.war
23:48:57,372 WARN  [org.jboss.weld.Event] (MSC service thread 1-3) WELD-000411: Observer method [BackedAnnotatedMethod] public org.picketlink.internal.IdentityStoreAutoConfiguration.processAnnotatedType(@Observes ProcessAnnotatedType, BeanManager) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.
23:48:57,608 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 64) MSC000001: Failed to start service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component.SecurityInitializer.START: org.jboss.msc.service.StartException in service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component.SecurityInitializer.START: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_45]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_45]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45]
        at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
        at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:162) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:133) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:89) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:122)
        at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:137)
        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        ... 6 more
Caused by: javax.ejb.EJBException: javax.enterprise.inject.CreationException
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:190)
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:369)
        at org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:66)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.weld.injection.WeldInjectionContextInterceptor.processInvocation(WeldInjectionContextInterceptor.java:43)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:160) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        ... 11 more
Caused by: javax.enterprise.inject.CreationException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.8.0_45]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [rt.jar:1.8.0_45]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.8.0_45]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422) [rt.jar:1.8.0_45]
        at java.lang.Class.newInstance(Class.java:442) [rt.jar:1.8.0_45]
        at org.jboss.weld.security.NewInstanceAction.run(NewInstanceAction.java:33)
        at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_45]
        at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:40)
        at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:50)
        at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:54)
        at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:96)
        at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:358)
        at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:369)
        at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:72)
        at org.jboss.weld.injection.producer.DefaultInjector$1.proceed(DefaultInjector.java:66)
        at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)
        at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:64)
        at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:90)
        at org.jboss.as.weld.injection.WeldInjectionContext.inject(WeldInjectionContext.java:39)
        at org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:51)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.weld.injection.WeldInterceptorInjectionInterceptor.processInvocation(WeldInterceptorInjectionInterceptor.java:56)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.weld.ejb.Jsr299BindingsCreateInterceptor.processInvocation(Jsr299BindingsCreateInterceptor.java:93)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [wildfly-ee-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309) [jboss-invocation-1.2.1.Final.jar:1.2.1.Final]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:273)
        ... 27 more
Caused by: javax.naming.NameNotFoundException: picketlink/JPADSBasedPartitionManager -- service jboss.naming.context.java.picketlink.JPADSBasedPartitionManager
        at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:104) [wildfly-naming-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:202) [wildfly-naming-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:233) [wildfly-naming-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:188) [wildfly-naming-8.1.0.Final.jar:8.1.0.Final]
        at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:184) [wildfly-naming-8.1.0.Final.jar:8.1.0.Final]
        at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45]
        at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45]
        at org.jboss.as.weld.services.bootstrap.WeldResourceInjectionServices.resolveResource(WeldResourceInjectionServices.java:186)
        at org.jboss.as.weld.services.bootstrap.WeldResourceInjectionServices$1.createResource(WeldResourceInjectionServices.java:139)
        at org.jboss.weld.injection.AbstractResourceInjection.getResourceReference(AbstractResourceInjection.java:44)
        at org.jboss.weld.injection.AbstractResourceInjection.injectResourceReference(AbstractResourceInjection.java:53)
        at org.jboss.weld.util.Beans.injectEEFields(Beans.java:331)
        at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:59)
        at org.jboss.weld.injection.producer.DefaultInjector$1.proceed(DefaultInjector.java:66)
        at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)
        at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:64)
        at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:90)
        at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:150)
        at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:733)
        at org.jboss.weld.injection.producer.AbstractMemberProducer.getReceiver(AbstractMemberProducer.java:128)
        at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:148)
        at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:183)
        at org.jboss.weld.bean.builtin.ee.EEResourceProducerField.createUnderlying(EEResourceProducerField.java:144)
        at org.jboss.weld.bean.builtin.ee.EEResourceProducerField.create(EEResourceProducerField.java:133)
        at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:733)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:753)
        at org.jboss.weld.bean.builtin.InstanceImpl.getBeanInstance(InstanceImpl.java:86)
        at org.jboss.weld.bean.builtin.InstanceImpl.get(InstanceImpl.java:76)
        at org.picketlink.producer.IdentityManagerProducer.init(IdentityManagerProducer.java:102)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_45]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_45]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_45]
        at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_45]
        at org.jboss.weld.injection.MethodInjectionPoint.invokeWithSpecialValue(MethodInjectionPoint.java:72)
        at org.jboss.weld.injection.MethodInjectionPoint.invoke(MethodInjectionPoint.java:66)
        at org.jboss.weld.util.Beans.callInitializers(Beans.java:382)
        at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:370)
        at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:72)
        at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:60)
        at org.jboss.weld.injection.producer.DefaultInjector$1.proceed(DefaultInjector.java:66)
        at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)
        at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:64)
        at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:90)
        at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:150)
        at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:733)
        at org.jboss.weld.injection.producer.AbstractMemberProducer.getReceiver(AbstractMemberProducer.java:128)
        at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:148)
        at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:183)
        at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:733)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:789)
        at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)
        ... 46 more

23:48:57,647 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "picketlink-authorization-idm-jpa-with-subsystem.war")]) - failure description: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"picketlink-authorization-idm-jpa-with-subsystem.war\".component.SecurityInitializer.START" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"picketlink-authorization-idm-jpa-with-subsystem.war\".component.SecurityInitializer.START: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
    Caused by: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
    Caused by: javax.ejb.EJBException: javax.enterprise.inject.CreationException
    Caused by: javax.enterprise.inject.CreationException
    Caused by: javax.naming.NameNotFoundException: picketlink/JPADSBasedPartitionManager -- service jboss.naming.context.java.picketlink.JPADSBasedPartitionManager"}}
23:48:57,651 ERROR [org.jboss.as.server] (management-handler-thread - 1) JBAS015870: Deploy of deployment "picketlink-authorization-idm-jpa-with-subsystem.war" was rolled back with the following failure message:
{"JBAS014671: Failed services" => {"jboss.deployment.unit.\"picketlink-authorization-idm-jpa-with-subsystem.war\".component.SecurityInitializer.START" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"picketlink-authorization-idm-jpa-with-subsystem.war\".component.SecurityInitializer.START: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
    Caused by: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
    Caused by: javax.ejb.EJBException: javax.enterprise.inject.CreationException
    Caused by: javax.enterprise.inject.CreationException
    Caused by: javax.naming.NameNotFoundException: picketlink/JPADSBasedPartitionManager -- service jboss.naming.context.java.picketlink.JPADSBasedPartitionManager"}}
23:48:57,663 INFO  [org.jboss.weld.deployer] (MSC service thread 1-8) JBAS016009: Stopping weld service for deployment picketlink-authorization-idm-jpa-with-subsystem.war
23:48:57,677 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) JBAS010409: Unbound data source [java:jboss/datasources/PicketLinkQuickstartDS]
23:48:58,019 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-15) JBAS015877: Stopped deployment picketlink-authorization-idm-jpa-with-subsystem.war (runtime-name: picketlink-authorization-idm-jpa-with-subsystem.war) in 367ms 23:48:58,023 INFO  [org.jboss.as.controller] (management-handler-thread - 1) JBAS014774: Service status report
JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".WeldBootstrapService (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".WeldStartService (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component.AuthorizationChecker.START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem, service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".moduleDeploymentRuntimeInformationStart]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component.LoginController.START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem, service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".moduleDeploymentRuntimeInformationStart, service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".deploymentCompleteService]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component.SecurityInitializer.START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem, service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".moduleDeploymentRuntimeInformationStart]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component."com.sun.faces.config.ConfigureListener".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem, service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".deploymentCompleteService]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component."javax.faces.webapp.FacetTag".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem, service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".deploymentCompleteService]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem, service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".deploymentCompleteService]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component."org.jboss.weld.servlet.WeldInitialListener".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component."org.jboss.weld.servlet.WeldTerminalListener".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService, service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".ee.ComponentRegistry (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService]
      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".moduleDeploymentRuntimeInformation (missing) dependents: [service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".moduleDeploymentRuntimeInformationStart]
      service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem]
      service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.codec (missing) dependents: [service jboss.undertow.deployment.default-server.default-host./picketlink-authorization-idm-jpa-with-subsystem.UndertowDeploymentInfoService]
JBAS014777:   Services which failed to start:      service jboss.deployment.unit."picketlink-authorization-idm-jpa-with-subsystem.war".component.SecurityInitializer.START

To implement SAML2 Artifact Resolution Profile

Hi,

Refer to #23, I would like to contribute in the implementation of the HTTP Artifact Resolution Profile. Could you please provide some leads to get started? Thank you.

Best Regards,
Philip Tran

identityManager.validateCredentials(creds) error,How to solve?

My custom entity structure is consistent with this case, and validation is useful when initializing the data. But at the time of landing. But not.

Initialize the code:

@Inject
@myidentity
private IdentityManager identityManager;

public void init(){
User user = new User("myhtls");
user.setEmail("[email protected]");
user.setPaymentDate(new Date());
user.setVimEnum(VipEnum.GENERAL_USER);
identityManager.add(user);

        Password password = new Password("javacom2");
        identityManager.updateCredential(user, password);

        UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(user.getLoginName(), password);

        identityManager.validateCredentials(credentials);

        System.err.println(credentials.getStatus());

}

System.err.println(credentials.getStatus()); ->VALID

But when the landing is unusual:
@picketlink
public class SimpleAuthenticator extends BaseAuthenticator{

private @Inject UsernamePassword usernamePassword;


@Inject
@MyIdentity
private IdentityManager identityManager;

@Override
public void authenticate(){

    UsernamePasswordCredentials creds =
            new UsernamePasswordCredentials(usernamePassword.getUsername(),
            new Password(usernamePassword.getPassword()));


    identityManager.validateCredentials(creds);



    if (Credentials.Status.VALID.equals(creds.getStatus())) {
        setStatus(AuthenticationStatus.SUCCESS);
        setAccount(new User(usernamePassword.getUsername()));
    } else {
        setStatus(AuthenticationStatus.FAILURE);
    }
}

}

ERROR:
2017-10-27 16:47:56,991 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (default task-17) #{loginAction.login}: org.picketlink.authentication.AuthenticationException: Authentication failed.: javax.faces.FacesException: #{loginAction.login}: org.picketlink.authentication.AuthenticationException: Authentication failed.
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at org.primefaces.application.DialogActionListener.processAction(DialogActionListener.java:45)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:181)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.omnifaces.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:124)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.swarm.generated.FaviconErrorHandler.handleRequest(FaviconErrorHandler.java:62)
at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:94)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.jrHandle(ServletInitialHandler.java)
at org.zeroturnaround.javarebel.integration.servlet.undertow.cbp.ServletInitialHandlerCBP.handleRequest(ServletInitialHandlerCBP.java:98)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:211)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:809)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.faces.el.EvaluationException: org.picketlink.authentication.AuthenticationException: Authentication failed.
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 60 more
Caused by: org.picketlink.authentication.AuthenticationException: Authentication failed.
at org.picketlink.internal.AbstractIdentity.authenticate(AbstractIdentity.java:233)
at org.picketlink.internal.AbstractIdentity.login(AbstractIdentity.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.__invoke(DelegatingMethodAccessorImpl.java:43)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
at org.picketlink.Identity$1509662680$Proxy$_$$WeldClientProxy.login(Unknown Source)
at com.greedydog.manager.LoginAction.login(LoginAction.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.__invoke(DelegatingMethodAccessorImpl.java:43)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)
at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 61 more
Caused by: org.picketlink.idm.IdentityManagementException: PLIDM000200: Credential validation failed [org.picketlink.idm.credential.UsernamePasswordCredentials@2ec2e29f].
at org.picketlink.idm.internal.ContextualIdentityManager.validateCredentials(ContextualIdentityManager.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.__invoke(DelegatingMethodAccessorImpl.java:43)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
at org.picketlink.idm.AttributedTypeManager$IdentityManager$1561125802$Proxy$
$$WeldClientProxy.validateCredentials(Unknown Source)
at com.greedydog.manager.SimpleAuthenticator.authenticate(SimpleAuthenticator.java:33)
at org.picketlink.internal.AbstractIdentity.authenticate(AbstractIdentity.java:220)
... 87 more
Caused by: org.picketlink.idm.IdentityManagementException: PLIDM000501: Could not query IdentityType using query [org.picketlink.idm.query.internal.DefaultIdentityQuery@75c91e1f].
at org.picketlink.idm.query.internal.DefaultIdentityQuery.getResultList(DefaultIdentityQuery.java:201)
at org.picketlink.idm.credential.handler.AbstractCredentialHandler.getAccount(AbstractCredentialHandler.java:91)
at org.picketlink.idm.credential.handler.PasswordCredentialHandler.getAccount(PasswordCredentialHandler.java:148)
at org.picketlink.idm.credential.handler.PasswordCredentialHandler.getAccount(PasswordCredentialHandler.java:56)
at org.picketlink.idm.credential.handler.AbstractCredentialHandler.validate(AbstractCredentialHandler.java:165)
at org.picketlink.idm.credential.handler.AbstractCredentialHandler.validate(AbstractCredentialHandler.java:51)
at org.picketlink.idm.internal.AbstractIdentityStore.validateCredentials(AbstractIdentityStore.java:139)
at org.picketlink.idm.internal.ContextualIdentityManager.validateCredentials(ContextualIdentityManager.java:209)
... 98 more
Caused by: org.picketlink.idm.IdentityManagementException: Could not create [User{loginName='null'} from entity [class com.greedydog.plmodel.entityModel.UserTypeEntity].
at org.picketlink.idm.jpa.internal.mappers.EntityMapper.createType(EntityMapper.java:213)
at org.picketlink.idm.jpa.internal.JPAIdentityStore.fetchQueryResults(JPAIdentityStore.java:612)
at org.picketlink.idm.query.internal.DefaultIdentityQuery.getResultList(DefaultIdentityQuery.java:190)
... 105 more
Caused by: org.picketlink.idm.IdentityManagementException: Could not create [null from entity [class com.greedydog.plmodel.entityModel.RealmTypeEntity
$$jvst6b4_2].
at org.picketlink.idm.jpa.internal.mappers.EntityMapper.createType(EntityMapper.java:213)
at org.picketlink.idm.jpa.internal.mappers.EntityMapper.createType(EntityMapper.java:190)
... 107 more
Caused by: org.picketlink.idm.IdentityManagementException: Could not determine type from entity [class com.greedydog.plmodel.entityModel.RealmTypeEntity
$$_jvst6b4_2]. Type property is [private java.lang.String com.greedydog.plmodel.entityModel.PartitionTypeEntity.typeName].
at org.picketlink.idm.jpa.internal.mappers.EntityMapper.createType(EntityMapper.java:170)
... 108 more

Explain picketlink-authorization-rs-rbac relation to session

I think that it would be useful to mention in readme of picketlink-authorization-rs-rbac that requests (subsequent to authentication request) should be in same session.
Unless you're familiar with PicketLink Impl it looks pretty magical how subsequent requests are authenticated.

SNAPSHOT usage in quickstarts

I was wondering if you would want to revert the picketlink-javaee-6.0 version in the pom.xml back to 2.6.0.Final. Snapshot versions are not offered on maven-central. So if you try to build the projects it will just provide you with errors and each developer has to switch back to 2.6.0.Final manually to get the necessary dependencies.

Database scheme

Hi,

i want to use mysql instead of H2 database, is there db scheme anywhere to look at?

Failed to define class org.picketlink.identity.federation.bindings.wildfly.sp.SPServletExtension in Module "org.picketlink.federation.bindings:main"

Hello,

I tried deploying jboss-picketlink-quickstarts (namely "picketlink-federation-saml-sp-post-with-signature") on Wildfly 10.1.0 and 11.0.0 with Picketlink upgraded to 2.7.1 (using picketlink-installer-2.7.1.Final.zip).

I am getting the following exception. Any hint would be appreciated. Thanks.

Running on:

Windows 7 (same Exception on Ubuntu Linux)

c:\>java -version

java version "1.8.0_141"

Java(TM) SE Runtime Environment (build 1.8.0_141-b15)

Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
22:59:14,033 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-7) WFLYSRV0027: Starting deployment of "picketlink-federation-saml-sp-post-with-signature-wildfly.war" (runtime-name: "picketlink-federation-saml-sp-post-with-signature-wildfly.war")

22:59:14,136 WARN  [org.jboss.modules] (ServerService Thread Pool -- 65) Failed to define class org.picketlink.identity.federation.bindings.wildfly.sp.SPServletExtension in Module "org.picketlink.federation.bindings" from local module loader @17d99928 (finder: local module finder @3834d63f (roots: W:\wildfly-11.0.0.Final\modules,W:\wildfly-11.0.0.Final\modules\system\layers\base)): org.jboss.modules.ModuleLoadError: org.jboss.common-core

        at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:74)

        at org.jboss.modules.Module.getPathsUnchecked(Module.java:1559)

        at org.jboss.modules.Module.loadModuleClass(Module.java:708)

        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)

        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)

        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)

        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)

        at java.lang.ClassLoader.defineClass1(Native Method)

        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)

        at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:358)

        at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:437)

        at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274)

        at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:77)

        at org.jboss.modules.Module.loadModuleClass(Module.java:713)

        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)

        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)

        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)

        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:348)

        at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)

        at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)

        at java.util.ServiceLoader$1.next(ServiceLoader.java:480)

        at io.undertow.servlet.core.DeploymentManagerImpl.handleExtensions(DeploymentManagerImpl.java:261)

        at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:153)

        at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:99)

        at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at java.lang.Thread.run(Thread.java:748)

        at org.jboss.threads.JBossThread.run(JBossThread.java:320)

Integrating Picketlink with REST API

Hi Team,
I am using Picketlink with my tomcat project and its working fine with the web, Now i am planning to integrate Picketlink with REST API, currently i am using OAuth 2.0 in REST API.

Can you please help me in this, which Jar i need do integrate with REST API and is there any demo where it is implemented.

I tried followed https://developer.jboss.org/wiki/PicketLinkRESTAPI but i did't see where it is authenticating with IDP server..

Thanks in advance..
Manjit Kumar

Error running on Glassfish 4

I debugged the project, and Resources.getPicketLinkEntityManager(0 is returning an EntityManager, but EntityManager.entityManagerFactory is NULL.

Caused by: java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.

Glassfish uses EclipseLink.

Full error:

INFO: PLIDM001000: Bootstrapping PicketLink IDM Partition Manager
INFO: PLIDM001001: Initializing Identity Store [class org.picketlink.idm.jpa.internal.JPAIdentityStore]
SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbApplication start method
javax.ejb.EJBException: javax.ejb.CreateException: Initialization failed for Singleton IDMInitializer
at com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:656)
...
at java.lang.Thread.run(Thread.java:724)
Caused by: javax.ejb.CreateException: Initialization failed for Singleton IDMInitializer
at com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:483)
at com.sun.ejb.containers.AbstractSingletonContainer.access$000(AbstractSingletonContainer.java:81)
at com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:654)
... 42 more
Caused by: org.picketlink.idm.IdentityManagementException: PLIDM000404: Could not load partition for type [interface org.picketlink.idm.model.Partition] and name [not specified].
at org.picketlink.idm.internal.DefaultPartitionManager.getPartitions(DefaultPartitionManager.java:300)
at org.picketlink.producer.IdentityManagerProducer.createDefaultPartition(IdentityManagerProducer.java:206)
at org.picketlink.producer.IdentityManagerProducer.createEmbeddedPartitionManager(IdentityManagerProducer.java:199)
at org.picketlink.producer.IdentityManagerProducer.init(IdentityManagerProducer.java:111)
...
... 44 more
Caused by: java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.verifyOpen(EntityManagerFactoryDelegate.java:338)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:303)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:317)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getNonTxEMFromCurrentInvocation(EntityManagerWrapper.java:268)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:213)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getCriteriaBuilder(EntityManagerWrapper.java:834)
at org.picketlink.idm.jpa.internal.JPAIdentityStore.getPartitions(JPAIdentityStore.java:283)
at org.picketlink.idm.jpa.internal.JPAIdentityStore.get(JPAIdentityStore.java:275)
at org.picketlink.idm.internal.DefaultPartitionManager.getPartitions(DefaultPartitionManager.java:294)
... 83 more

SEVERE: Exception during lifecycle processing
javax.ejb.EJBException: javax.ejb.CreateException: Initialization failed for Singleton IDMInitializer
at com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:656)
at com.sun.ejb.containers.AbstractSingletonContainer.instantiateSingletonInstance(AbstractSingletonContainer.java:396)
at java.lang.Thread.run(Thread.java:724)
Caused by: javax.ejb.CreateException: Initialization failed for Singleton IDMInitializer
at com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:483)
at com.sun.ejb.containers.AbstractSingletonContainer.access$000(AbstractSingletonContainer.java:81)
at com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:654)
...
... 42 more
Caused by: org.picketlink.idm.IdentityManagementException: PLIDM000404: Could not load partition for type [interface org.picketlink.idm.model.Partition] and name [not specified].
at org.picketlink.idm.internal.DefaultPartitionManager.getPartitions(DefaultPartitionManager.java:300)
at org.picketlink.producer.IdentityManagerProducer.createDefaultPartition(IdentityManagerProducer.java:206)
at org.picketlink.producer.IdentityManagerProducer.createEmbeddedPartitionManager(IdentityManagerProducer.java:199)
at org.picketlink.producer.IdentityManagerProducer.init(IdentityManagerProducer.java:111)
...
... 44 more
Caused by: java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.verifyOpen(EntityManagerFactoryDelegate.java:338)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:303)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:317)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getNonTxEMFromCurrentInvocation(EntityManagerWrapper.java:268)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:213)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getCriteriaBuilder(EntityManagerWrapper.java:834)
at org.picketlink.idm.jpa.internal.JPAIdentityStore.getPartitions(JPAIdentityStore.java:283)
at org.picketlink.idm.jpa.internal.JPAIdentityStore.get(JPAIdentityStore.java:275)
at org.picketlink.idm.internal.DefaultPartitionManager.getPartitions(DefaultPartitionManager.java:294)
... 83 more

SEVERE: Exception while loading the app
SEVERE: Undeployment failed for context /picketlink-authorization-idm-jpa
SEVERE: Exception while loading the app : javax.ejb.CreateException: Initialization failed for Singleton IDMInitializer
javax.ejb.CreateException: Initialization failed for Singleton IDMInitializer
at com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:483)
at com.sun.ejb.containers.AbstractSingletonContainer.access$000(AbstractSingletonContainer.java:81)
at com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:654)
at com.sun.ejb.containers.AbstractSingletonContainer.instantiateSingletonInstance(AbstractSingletonContainer.java:396)
...
at java.lang.Thread.run(Thread.java:724)
Caused by: org.picketlink.idm.IdentityManagementException: PLIDM000404: Could not load partition for type [interface org.picketlink.idm.model.Partition] and name [not specified].
at org.picketlink.idm.internal.DefaultPartitionManager.getPartitions(DefaultPartitionManager.java:300)
at org.picketlink.producer.IdentityManagerProducer.createDefaultPartition(IdentityManagerProducer.java:206)
at org.picketlink.producer.IdentityManagerProducer.createEmbeddedPartitionManager(IdentityManagerProducer.java:199)
at org.picketlink.producer.IdentityManagerProducer.init(IdentityManagerProducer.java:111)
...
... 44 more
Caused by: java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.verifyOpen(EntityManagerFactoryDelegate.java:338)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:303)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:317)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getNonTxEMFromCurrentInvocation(EntityManagerWrapper.java:268)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:213)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getCriteriaBuilder(EntityManagerWrapper.java:834)
at org.picketlink.idm.jpa.internal.JPAIdentityStore.getPartitions(JPAIdentityStore.java:283)
at org.picketlink.idm.jpa.internal.JPAIdentityStore.get(JPAIdentityStore.java:275)
at org.picketlink.idm.internal.DefaultPartitionManager.getPartitions(DefaultPartitionManager.java:294)
... 83 more

SAML2 Artifact Resolution Profile via SOAP Binding

Hi,

Instead of returning the Assertion in the <Response> message upon successful authentication at IdP, we would like to return the SP an artifact for back-end resolution of the Assertion using the Artifact Resolution Profile via SOAP Binding. Is there any sample for implementing such requirements? Thank you.

Best Regards,
Philip Tran

Wildfly 10 compatibility ?

Is there any support for Wildfly 10.
Deploying gives me a module error :

Caused by: org.jboss.modules.ModuleLoadError: org.jboss.common-core:main
at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:74)
at org.jboss.modules.Module.getPathsUnchecked(Module.java:1434)

can't resolve POM dependencies

I was trying this quickstart but whne I run 'mvn clean package jboss-as:deploy' I see errors saying cant resolve error:

[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Could not find artifact org.picketlink:picket
link-javaee-6.0:pom:2.8.0.Beta1-SNAPSHOT @ line 63, column 19
[ERROR] 'dependencies.dependency.version' for org.picketlink:picketlink:jar is m
issing. @ line 79, column 17
[ERROR] 'dependencies.dependency.version' for org.picketlink:picketlink-idm-simp
le-schema:jar is missing. @ line 90, column 17
[ERROR] 'dependencies.dependency.version' for org.picketlink:picketlink-json:jar
is missing. @ line 100, column 17
[ERROR] 'dependencies.dependency.version' for javax.enterprise:cdi-api:jar is mi
ssing. @ line 106, column 17
[ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.ejb:jboss-ejb
-api_3.1_spec:jar is missing. @ line 112, column 17
[ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.ws.rs:jboss-j
axrs-api_1.1_spec:jar is missing. @ line 118, column 17
[ERROR] 'dependencies.dependency.version' for org.hibernate.javax.persistence:hi
bernate-jpa-2.0-api:jar is missing. @ line 124, column 17
[ERROR] 'dependencies.dependency.version' for javax.mail:mail:jar is missing. @
line 130, column 17
@
[ERROR] The build could not read 1 project -> [Help 1]

my settings.xml has the following content. Do we have any 'contributor-settings.xml' that we can use for this picket link quickstart. I don't see it in the branch.

 <profile>
      <id>jboss-developer-repository</id>
      <repositories>
          <repository>
              <id>jboss-developer-repository</id>
              <url>http://jboss-developer.github.io/temp-maven-repo/</url>
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>false</enabled>
              </snapshots>
          </repository>
      </repositories>
      <pluginRepositories>
          <pluginRepository>
              <id>jboss-developer-plugin-repository</id>
              <url>http://jboss-developer.github.io/temp-maven-repo/</url>
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>false</enabled>
              </snapshots>
          </pluginRepository>
      </pluginRepositories>
  </profile>
<activeProfiles>
<activeProfile>jboss-developer-repository</activeProfile>
</activeProfiles>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.