server: add opensaml as dependency

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
SAML: WIP redirections work now

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
ApiServer: change loginUser method signature to return ResponseObject

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
DefaultLoginAPIAuthenticatorCmd: move createLoginResponse to ApiServer

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
SAML2LoginAPIAuthenticatorCmd: Implement SAML SSO using HTTP Redirect binding

- Creates SAMLRequest and uses HTTP redirect binding (uses GET/302)
- Redirects to IdP for auth
- On successful auth, check for assertion
- Tries to get attributes based on standard LDAP attribute names
- Next, gets user using EntityManager, if not found creates one with NameID as UUID
- Finally tries to log in and redirect

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
ApiServlet: Fix NPE while inserting to auditTrail

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
ui: Unbox extra quotes from sessionKey cookie value

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
SAML2LoginAPIAuthenticatorCmd: Set all necessary cookies and redirect to UI

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Minor fixes

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
ui: refactor and use a unified unboxing helping method in cloudStack.js

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>