Public | Automated Build

Last pushed: 5 days ago
Short Description
Short description is empty for this repo.
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 Core/Main modules
Whydah SDKs and Libraries
Whydah extensions
Whydah Example app and integration examples

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
Startus of local Whydah
wget -qO- http://localhost:9998/tokenservice/health
wget -qO- http://localhost:9997/sso/health
wget -qO- http://localhost:9992/useradminservice/health
wget -qO- http://localhost:9996/useradmin/health
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
whydah
Source Repository

Comments (0)