Giter Club home page Giter Club logo

samples-is's Introduction

samples-is

samples-is a repository containing applications and guides that demonstrate capabilities of WSO2 Identity Sever.

Table of contents

Getting started

Download and install

Download the binary

You can download the samples-is distribution from this link. Distribution is named is-samples-<version>.zip

Install from source

Alternatively, you can build the distribution from the source code using the following instructions.

Prerequisites

Building the source

  1. Get a clone or download source of this repository
  2. Run the Maven command mvn clean install from source directory

Directory tree of Samples

SAMPLES_HOME
├── analytics-extensions
│   ├── accountrecoveryendpoint
│   └── authenticationendpoint
├── authenticators
│   └── components
│       ├── org.wso2.carbon.identity.sample.extension.auth.endpoint
│       └── org.wso2.carbon.identity.sample.extension.authenticators
├── bulk-user-export-tool
│   └── scim-bulk-user-export-tool
├── bulk-user-import-sample
│   └── BulkUserImport
├── client-samples
│   ├── dotnet
│   │   ├── dotnet-agent-oidc-sso
│   │   └── dotnet-agent-saml-sso
│   └── oidc-client-app-samples
│       ├── android-client-app-sample
│       ├── browser-client-app-sample
│       ├── cordova-client-app-sample
│       └── ios-client-app-sample
├── distribution
├── etc
│   ├── backend-service
│   ├── claim-manager
│   ├── conditional-auth-sample
│   ├── consent-mgt
│   ├── entitlement
│   ├── gdpr-samples
│   ├── identity-mgt
│   ├── oauth-sample-client-authenticator
│   ├── pickup-sample-app
│   ├── resources
│   ├── sample-post-authentication-handler
│   └── sample-step-handler
├── helloworld
│   └── is-helloworld-app
├── host-endpoints-externally
├── identity-mgt
│   └── info-recovery-sample
├── microprofile
│   └── microprofile-jwt
├── mobile-proxy-idp
│   ├── android
│   └── ios
├── oauth
│   └── oauth10a-resource-owner-equivalent
├── oauth2
│   ├── custom-grant
│   ├── OIDC-Test-Suite
│   └── playground2
├── oidc-samples
│   ├── OIDC-SDK
│   ├── Pickup-Manager
│   └── spring-boot-app-sample
├── oidc-uma-samples
│   ├── common-resources
│   ├── jks-loader
│   ├── photo-edit
│   └── photo-view
├── openid
│   └── openid-client
├── passive-sts
│   └── passive-sts-client
│       ├── PassiveSTSFilter
│       └── PassiveSTSSampleApp
├── quick-start-guide
├── re-branding-the-default-login-page
├── rest-api-samples
├── saml-query-profile-client
├── saml-query-profile-target
├── sample-customizations
│   └── custom-carbon-log-appender
├── sample-geovelocity
│   └── siddhi-execution-geovelocity
├── sample-ui-extensions
│   ├── accountrecoveryendpoint
│   └── authenticationendpoint
├── scim
│   └── scim-provisioning
├── scripts
├── sso
│   └── sso-agent-sample
├── sso-samples
│   ├── oidc-sso-sample
│   │   ├── oidc-jks-loader
│   │   ├── pickup-dispatch
│   │   ├── pickup-manager
│   │   └── oidc-keystore-loader
│   └── saml2-sso-sample
│       ├── saml2-web-app-pickup-dispatch
│       └── saml2-web-app-pickup-manager
├── sts
│   ├── lib
│   └── sts-client
├── tokenBinding
├── user-mgt
│   ├── remote-user-mgt
│   └── sample-custom-user-store-manager
|── user-migration-samples
│   └── asgardeo
│       └── external-authentication-service
├── workflow
│   ├── handler
│   │   └── service-provider
│   └── template
│       └── sample-template
└── xacml
    └── kmarket-trading-sample

License

samples-is code is distributed under Apache license 2.0.

samples-is's People

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

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  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

samples-is's Issues

Adding new mobiles clients as new samples

Description:

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Sample application not working if we deploy only one

Description:
This was identified through "Sample application not working if we deploy only one" email thread. Individual deployment of IS OIDC samples does not work due to SSL certificate validation

Suggested Labels:
Bug, Improvements

Suggested Assignees:
[email protected]

Affected Product Version:
N/A

OS, DB, other environment details and versions:
N/A

Steps to reproduce:
Start a tomcat server and deploy any oidc sample app (with SP configuration). Try to login and you will get the mentioned error,

javax.servlet.ServletException: org.apache.oltu.oauth2.common.exception.OAuthSystemException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:667)

Related Issues:
N/A

Logout of pickup application goes to default logout page.

Description:
Logout of pickup application goes to default logout page. Therefore after the logout user can't go to the login page. So after the logout user should be redirected to login page rather than go to the default IS logout page.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Index pages of web application of sample GDPR should be different

Description:
Even though we have three different web application to show demo for GDPR, the index pages are same as below.
screenshot from 2018-07-30 16-13-36
screenshot from 2018-07-30 16-12-59
screenshot from 2018-07-30 16-12-12

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Notification application buttons are giving exceptions

Description:
Go to sample app with http://localhost.com:8080/notification
loggedin
Click on view campaign button
You will get following exception
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) sun.security.validator.Validator.validate(Validator.java:260) sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1596) sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052) sun.security.ssl.Handshaker.process_record(Handshaker.java:987) sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072) sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397) org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:396) org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:355) org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:359) org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381) org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111) org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) org.wso2.sample.consent.mgt.ClientServlet.getConsentReceiptId(ClientServlet.java:60) org.wso2.sample.consent.mgt.ClientServlet.doGet(ClientServlet.java:29) org.wso2.sample.consent.mgt.ClientServlet.doPost(ClientServlet.java:40) javax.servlet.http.HttpServlet.service(HttpServlet.java:661) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Following issues occur when running .bat file.

Description:
Issue 1: An issue of carbon server error "Invalid remote address" is occurred when the domain name is used as localhost although the etc/hosts name is defined properly for localhost

Issue 2: When running the bat file in windows, the Specified label not found fun_name issue occurred

Keep the qsg & gdpr script running for error inputs

Description:
Once the user presses a wrong input then the execution exit, but it should not exit until the user explicitly mention to exit
Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Adding new UIs to the samples

Description:

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Single logout is not working with OIDC protocol

Description:

  1. Logged in to Dispatch, logged in to Swift.
  2. Logout from Swift
  3. Dispatch is not get logged out.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Fixing issues in QSG to suppor new UIs

Description:

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

QSG delivery has a complex folder structure

Description:
We deliver a .zip for our QSG guide. It is the first instance of interaction with our IS server. But at the moment, delivered ZIP is complex. For example, scripts are not present in root level. One must navigate a lot to find and start the guide.

We must simply the overview of folder structure.

Suggested Labels:
Improvements

Suggested Assignees:
[email protected]

The gdpr.sh file should be updated with the user credentials details

Description:

  1. Exceute gdpr.sh file
  2. users will be created (cameron)
  3. Then we asked to login as that user (cameron) but the password is not shown anywhere

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

gdpr.sh execution repeat adding duplicate users without any error notification

Description:

  1. Execute the script gdpr.sh
  2. Select option 1
  3. It will create a user, service provider
  4. Again repeat the same steps
  5. Still you will get user successfully added and all. But the exception is throwing in the backend. The script should be fixed

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Provide a backend service for sample applications

Description:
At the moment, sample apps have mock UI functionality. We do not provide a backend. Having a backend will allow us to demonstrate special scenarios such as IS as a Key manager. Backend must be self deployable using msf4j

Suggested Labels:
Improvements, enhancements

Suggested Assignees:
[email protected]

Incorrect host name in URL of the SAML 2.0 Assertion Consumer

Severity: Critical
Priority: High
Type: Bug

Web apps saml2-web-app-pickup-dispatch.com [1] and saml2-web-app-pickup-manager.com [2] URL of the SAML 2.0 Assertion Consumer host name should change as , localhost

[1] https://github.com/wso2/samples-is/blob/master/sso-samples/saml2-sso-sample/saml2-web-app-pickup-dispatch/src/main/resources/sso.properties#L41

[2] https://github.com/wso2/samples-is/blob/master/sso-samples/saml2-sso-sample/saml2-web-app-pickup-manager/src/main/resources/sso.properties#L38

Having register now option in the sample web app is unncessary

Description:
Currently, in the web application pick up we have self-registration option. But once click on that it will go to dashboard and complete the flow, so in that case, can't we straightly asked the user to click on login and then user register now option.
screenshot from 2018-07-30 15-37-15

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Errors were printed even for successful scenario

Description:
The following error is printed when running qsg.sh with option 2.
qsg.sh: 660: cd: can't cd to binaries cp: cannot stat 'saml2-web-app-dispatch.com.war': No such file or directory ** Web application Dispatch successfully deployed. ** cp: cannot stat 'saml2-web-app-swift.com.war': No such file or directory

When running qsg.sh with option 1 following error is printed
qsg.sh: 660: cd: can't cd to binaries cp: cannot stat 'saml2-web-app-dispatch.com.war': No such file or directory ** Web application Dispatch successfully deployed. ** cp: cannot stat 'saml2-web-app-swift.com.war': No such file or directory

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

The spring application try to create a bean for SAML2SSOManager .but throws class not found exception

import org.wso2.carbon.identity.sso.agent.exception.SSOAgentException;
import org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager;
import org.wso2.carbon.identity.sso.agent.util.SSOAgentUtils;

/**
*
*/
@RestController
@RequestMapping("/saml")
public class SSORestController {

private static final XLogger LOGGER = XLoggerFactory.getXLogger(SSORestController.class);

@Autowired
public SAML2SSOManager saml2SSOManager;

@bean(name = "saml2SSOManager")
public SAML2SSOManager saml2SSOManager() {
try {
SSOAgentConfig ssoAgentConfig = this.ssoAgentConfig();
ssoAgentConfig.initConfig(this.samlProperties());

        return new SAML2SSOManager(ssoAgentConfig);
    } catch (Exception ex) {
        LOGGER.debug("SAML2SSOManager error " + ex.getMessage());
    }
    return null;
}

@Bean
public SSOAgentConfig ssoAgentConfig() {
    return new SSOAgentConfig();
}

@Bean
public Properties samlProperties() {
    try {
        return PropertiesLoaderUtils.loadProperties(new ClassPathResource("/config/travelocity.properties"));
    } catch (IOException ex) {
        LOGGER.info("Could not load properties from " + ex.getMessage());
    }
    return null;
}

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager]: Factory method 'saml2SSOManager' threw exception; nested exception is java.lang.NoClassDefFoundError: org/wso2/carbon/user/api/UserStoreException
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:579)
... 35 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/wso2/carbon/user/api/UserStoreException
at com.aimia.aip.identity.config.AppServiceConfig.saml2SSOManager(AppServiceConfig.java:269)
at com.aimia.aip.identity.config.AppServiceConfig$$EnhancerBySpringCGLIB$$1eb8fcb9.CGLIB$saml2SSOManager$5()
at com.aimia.aip.identity.config.AppServiceConfig$$EnhancerBySpringCGLIB$$1eb8fcb9$$FastClassBySpringCGLIB$$8a5dee81.invoke()
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361)
at com.aimia.aip.identity.config.AppServiceConfig$$EnhancerBySpringCGLIB$$1eb8fcb9.saml2SSOManager()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 36 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.wso2.carbon.user.api.UserStoreException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 47 common frames omitted

OIDC samples apps reveal authorization code in home page

Description:
OIDC apps use authorization code flow. In this flow, response is handled by a servlet. Once redirect is validated, servlet dispatch home.jsp. Obtaining of token happens through jsp code that are embedded in the jsp page. This will reveal the authorization code in the URL, which is not appropriate.

This is a bug that needs to be fixed

Suggested Labels:
Bug, Improvements

Suggested Assignees:
[email protected]

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.