Getting started

Skip to end of metadata
Go to start of metadata

For the security officer

  • Whydah provides a secure and relatively quick way to make dousins of custom made aplications adhere to a reasonable secure SSO policy.
  • By firewall configuration, proxy settings and URIs it is possible to put UserIdentityBackend in a "vault" to enforce role authenticity.
  • Audit logging log evry change being made to roles and users.

Read more about the Security in Whydah.

For the operations department

  • Set up Whydah by installing a typical production environment.

See the Whydah for production page. Try whydah on your machine.
Also see Whydah for demo/test

For the app developer

See the Integrating with Whydah.
Try whydah on your machine.

For the java developer

If you want to enhance Whydah, you should first verify that you understand how Whydah work by using one of the examples provided in the integration guide.

Try whydah and trace on your machine. Then it is time to install Whydah development environment

Quick set-up (Using Docker on local machine)

  • Install docker
  • Start Whydah, ready for Integration
    Unknown macro: {code}

    sudo docker run -it -p 80:9999 -p 9990:9990 -p 9995:9995 -p 9996:9996 -p 9997:9997 -p 9998:9998 totto/whydah /usr/bin/supervisord

  • Go to Whydah http://localhost/sso/welcome

Client code example

  • (Example using Apache HTTP Components Fluent API and jOOX Fluent API)
    Unknown macro: {code}

    // Execute a POST to authenticate my application
    String appToken = Request.Post("")
    .bodyForm(Form.form().add("applicationcredential", myAppCredential).build())

    // authenticate with username and password (user credential)
    String usertoken = Request.Post(""appTokenID"/"new UserTicket(UUID.randomUUID()).toString()"/usertoken/")
    .bodyForm(Form.form().add("apptoken", appToken)
    .add("usercredential", new UserCredential(username,password).asXML()).build())

    // Execute a POST to SecurityTokenService with userticket to get usertoken
    String usertoken = Request.Post(""appTokenID"/get_usertoken_by_userticket/")
    .bodyForm(Form.form().add("apptoken", appToken)
    .add("userticket", userTicket).build())

    // 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\"");

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.