Public | Automated Build

Last pushed: 5 months ago
Short Description
The vault of users and applications
Full Description

Whydah SSO and IAM Solution

This is the top-level repository for the Whydah components.
For a high-level feature description, see http://getwhydah.com

Documentation:

Release log

Build status:

- Whydah-SSOLoginWebApp <br />
- Whydah-SecurityTokenService <br />
- Whydah-UserAdminService <br />
- Whydah-UserIdentityBackend <br />
- Whydah-UserAdminWebApp <br />
- Whydah-Java-SDK <br />
- Whydah-TypeLib <br />

- Whydah-TestWebApp - Not 2.1 updated yet <br />
- Whydah-CRMService <br />
- Whydah-StatisticsService <br />

Quick set-up (Using Docker on local machine)

  • Install docker
    wget -qO- https://get.docker.com/ | sh
    
  • Start Whydah

    sudo docker pull whydah/whydah-all-in-one-image
    sudo docker run -it -p 80:9999 -p 9990:9990 -p 9992:9992 -p 9995:9995 -p 9996:9996 -p 9997:9997 -p 9998:9998  whydah/whydah-all-in-one-image
    

  • Start Whydah

    ## Start and debug whydah
    sudo docker run -it -p 80:9999 -p 9990:9990 -p 9992:9992 -p 9995:9995 -p 9996:9996 -p 9997:9997 -p 9998:9998  whydah/whydah-all-in-one-image /bin/bash
    # run ./start_whydah.sh in image
    
  • Run whydah in early Java9?

    sudo docker pull whydah/java9-whydah-all-in-one
    sudo docker run -it -p 80:9999 -p 9990:9990 -p 9992:9992 -p 9995:9995 -p 9996:9996 -p 9997:9997 -p 9998:9998  whydah/java9-whydah-all-in-one
    

Some ready-built docker images

Some client code examples

Example code, Whydah Java SDK with automatic session management threads

WhydahApplicationSession aSession = new WhydahApplicationSssion(stsURL, appCtedential);
WhydahUserSession uSession = new WhydahUserSession(aSession,userCredential);
if (uSession.hasRole("MyAppRole"){
  // do admin privilege operation
}

Example RAW HTTP(S) using Apache HTTP Components Fluent API and jOOX Fluent API

//  Execute a POST to authenticate my application
String aToken = Request.Post("https://sso.whydah.net/sso/logon")
        .bodyForm(Form.form().add("applicationcredential", myAppCred).build())
        .execute().returnContent().asBytes();

//  authenticate with username and password (UserCredential)
String uToken = Request.Post("https://sso.whydah.net/sso/user/"+appTokenID+"/"+"/usertoken/")
        .bodyForm(Form.form().add("apptoken", aToken)
        .add("usercredential", new UserCredential(username,password).toXML()).build())
        .execute().returnContent().asBytes();


// That's all you need to get a full user database, IAM/SSO, Facebook/OAUTH support ++
boolean hasEmployeeRoleInMyApp = $(usertoken)
        .xpath("/usertoken/application[@ID="+myAppId+"]/role[@name=\"Employee\"");

Infrastructure setup components

We plan to build a software-defined network application to control and handle various configuration of Whydah production setups. As they are developed they will arrive and be listed and documented here.

Whydah node configurations

To make it easy to adopt and evolve Whydah components, we'll make ready-to use Docker containers of all the Whydah modules, both as Docker images and the corresponding Dockerfile-configurations to make it easy to just grab a complete component or adjust and build your own.

Docker: UIB configurations

Docker configurations

Ansible: Ansible Whydah provisioning

For those who prefer using Ansible to provision solutions, we suggest that you fork our general
ansible provisioning repository on github and adjust it according to youur needs

Docker Pull Command
Owner
cantara
Source Repository

Comments (0)