Whydah is a Identity Provider and Single Sign On enabler consisting of five main components with clearly defined responsibilities.
tl;dr
Unknown macro: {code}
// Execute a POST to authenticate my application
String appToken = Request.Post("https://sso.whydah.net/tokenservice/logon")
.bodyForm(Form.form().add("applicationcredential", myAppCredential).build())
.execute().returnContent().asBytes();
// Find appTokenID from applicationToken
String appTokenID = $(appToken).xpath("/applicationtoken/params/applicationtokenID[1]");
// Execute a POST to SecurityTokenService with userticket to get usertoken
String usertoken = Request.Post("https://sso.whydah.net/tokenservice/user/"appTokenID"/get_usertoken_by_userticket/")
.bodyForm(Form.form().add("apptoken", appToken)
.add("userticket", userTicket).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\"");
(Example using Apache HTTP Components Fluent API and jOOX Fluent API)