Updated Branches:
  refs/heads/master 73326f9a1 -> 2f6d8530e

sso login modifications in console app


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/2f6d8530
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/2f6d8530
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/2f6d8530

Branch: refs/heads/master
Commit: 2f6d8530eeb261d4d35f7af03383bb7c0f165de6
Parents: 73326f9
Author: Pradeep Fernando <[email protected]>
Authored: Wed Jan 8 10:55:47 2014 +0530
Committer: Pradeep Fernando <[email protected]>
Committed: Wed Jan 8 10:55:47 2014 +0530

----------------------------------------------------------------------
 .../config/console.json                         |  2 +-
 .../controllers/acs.jag                         | 11 ++-
 .../util/utility.jag                            | 77 ++++++++++++--------
 3 files changed, 58 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2f6d8530/components/org.apache.stratos.manager.console/config/console.json
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager.console/config/console.json 
b/components/org.apache.stratos.manager.console/config/console.json
index 271ddcc..23efa7c 100644
--- a/components/org.apache.stratos.manager.console/config/console.json
+++ b/components/org.apache.stratos.manager.console/config/console.json
@@ -1,6 +1,6 @@
 {
     "backendServerConfiguration":{
-        "url":"https://localhost:9443";
+        "url":"https://localhost:9443/stratos/admin";
     },
 
     "oauthConfiguration":{

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2f6d8530/components/org.apache.stratos.manager.console/controllers/acs.jag
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager.console/controllers/acs.jag 
b/components/org.apache.stratos.manager.console/controllers/acs.jag
index fb1b101..a83826e 100644
--- a/components/org.apache.stratos.manager.console/controllers/acs.jag
+++ b/components/org.apache.stratos.manager.console/controllers/acs.jag
@@ -4,6 +4,7 @@
     log.info("console ACS page....");
     var    configs = require('/config/console.js').config(),
             process = require("process"),
+            util = require('/util/utility.jag'),
             samlResponse = request.getParameter('SAMLResponse'),
             sessionId = session.getId(),
             samlRequest = request.getParameter('SAMLRequest'),
@@ -34,10 +35,16 @@
 
                 if (sso.client.validateSignature(samlRespObj, keyStoreProps)) {
                     var sessionObj = 
sso.client.decodeSAMLLoginResponse(samlRespObj, samlResponse, sessionId);
-
+                    var samlToken = 
sso.client.getB64EncodedtSAMLAssertion(samlRespObj);
+                    log.info("B64 encoded SAML2Token : " + 
samlToken.b64Encoded);
+                    var encodedString = 
sso.client.b64encode("LATjzZ4FvQc2gFEfwcitay78lQQa:LeZD0oN0ZLTLjLmRqphX4Ulrr5wa");
+                    log.info("encoded string : " + encodedString);
+                    var accessToken = 
util.consoleAppUtil.getOauthAccessToken(samlToken.b64Encoded,encodedString);
+                    log.info(accessToken.data.access_token);
+                    session.put("access_token",accessToken.data.access_token);
                     if (sessionObj.sessionIndex != null || 
sessionObj.sessionIndex != 'undefined') {
                         session.put("LOGGED_IN_USER", sessionObj.loggedInUser);
-                        session.put("Logged", "true");
+                        //session.put("Logged", "true");
 
                         //sso_sessions[sessionObj.sessionIndex] = 
sessionObj.sessionId;
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2f6d8530/components/org.apache.stratos.manager.console/util/utility.jag
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager.console/util/utility.jag 
b/components/org.apache.stratos.manager.console/util/utility.jag
index ff42a3d..e943e10 100644
--- a/components/org.apache.stratos.manager.console/util/utility.jag
+++ b/components/org.apache.stratos.manager.console/util/utility.jag
@@ -74,52 +74,71 @@ function getServerUrl(){
     return serverUrl;
 }
 
-function getAuthenticationHeader(){
-    return {"Authorization": "Basic YWRtaW46YWRtaW4="};
-}
-
-function getBackendServerURL(){
-    var config = require('/config/console.json');
-    return config.backendServerConfiguration.url;
-}
-
 consoleAppUtil = new function(){
     var log = new Log();
 
     this.getAvailableCartridges = function(){
-        return this.makeRequest()
+
     };
 
+    this.getSubscribedCartridges = function(){
+
+    }
 
     this.makeRequest = function(httpMethod,urlPostFix,data){
-        var endpoint = getBackendServerURL() + urlPostFix;
-        var headers = getAuthenticationHeader();
-        var type="json";
-        if(log.isDebugEnabeld()){
-            log.debug("HTTPMethod : " + httpMethod);
-            log.debug("HTTPEndpoint : "+endpoint);
-            log.debug("HTTPHeaders : "+headers);
-        }
+        var config = require('/config/console.js').config();
+        var backendServerURL = config.backendServerConfiguration.url;
+        // getting the access token from the session.
+        var endpoint = backendServerURL + urlPostfix;
+        var accessToken = this.getAccessTokenFromSession();
+        // the header values are constant
+        var headers = {
+            "Authorization": "Bearer "+accessToken,
+            "Content-Type": "application/json"
+        };
+        var type = "json"; // response format
         var response;
-        switch(httpMethod){
-            case "GET":
-               response = get(endpoint,data,headers,type);
-                break;
-            case "POST":
+        switch (httpMethod){
+            case  "GET":
+               response = get(endpoint,{},headers,type);
+               break;
+            case   "POST":
                 response = post(endpoint,data,headers,type);
                 break;
-            case "DELETE":
-                response = del(endpoint,data,headers,type);
-                break;
-            case "PUT":
+            case    "PUT":
                 response = put(endpoint,data,headers,type);
                 break;
+            case    "DELETE":
+                response = del(endpoint,data,headers,type);
+                break;
             default :
-                response = {"data":"wrong data"}; // TODO: proper error 
handling.
+                log.error("Error in the programme flow.");
         }
-        log.info(response.data);
+        log.debug(response.data);
+        return response;
+    };
+
+
+
+    this.getOauthAccessToken = function(encodedSAMLToken,basicAuthToken){
+        var config = require('/config/console.js').config();
+        var endpoint = config.oauthConfiguration.tokenEndpoint;
+        var headers = {
+            "Authorization": "Basic "+basicAuthToken,
+            "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
+        };
+        var data = {
+            grant_type:"urn:ietf:params:oauth:grant-type:saml2-bearer",
+            assertion:encodedSAMLToken
+        };
+        var response = post(endpoint,data,headers,"json");
+        log.debug(response);
         return response;
     };
+
+    this.getAccessTokenFromSession = function(){
+        return session.get("access_token");
+    };
 };
 
 

Reply via email to