[{"id":"c6bbf06d.815c5","type":"tab","label":"pattern","disabled":false,"info":""},{"id":"f65e962c.de225","type":"http in","z":"c6bbf06d.815c5","name":"","url":"client","method":"get","upload":false,"swaggerDoc":"","x":80,"y":800,"wires":[["285c3d20.6b7442"]]},{"id":"28e32e4a.11e5aa","type":"http request","z":"c6bbf06d.815c5","name":"Get token","method":"POST","ret":"txt","paytoqs":false,"url":"","tls":"","proxy":"","authType":"basic","x":460,"y":800,"wires":[["26595f8c.942c6"]]},{"id":"285c3d20.6b7442","type":"function","z":"c6bbf06d.815c5","name":"","func":"var globalContext = global;\n\nmsg.url=globalContext.get(\"oauth_token_url\");\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/x-www-form-urlencoded';\nmsg.payload.grant_type='authorization_code';\nmsg.payload.redirect_uri=globalContext.get(\"redirect_url\");\nmsg.payload.client_id=globalContext.get(\"client_id\");\nmsg.payload.domain = globalContext.get(\"node_red_url\").substring(8);\nreturn msg;","outputs":1,"noerr":0,"x":270,"y":800,"wires":[["28e32e4a.11e5aa"]]},{"id":"26595f8c.942c6","type":"function","z":"c6bbf06d.815c5","name":"","func":"var jsonobj = JSON.parse(msg.payload)\nnode.error(jsonobj.access_token);\nvar globalContext = global;\nglobalContext.set(\"access_token\",jsonobj.access_token);\nmsg.payload={};\nmsg.payload.url=globalContext.get(\"node_red_url\")+\"/menus\";\nmsg.payload.token = jsonobj.access_token;\nreturn msg;","outputs":1,"noerr":0,"x":630,"y":800,"wires":[["9fe03781.b5c118"]]},{"id":"af023898.f95ea8","type":"template","z":"c6bbf06d.815c5","name":"Login","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"\n\n\n\n\nCode Bank | Login\n\n\n\n\n\n\n\n\n\n\t\n\t\t
\n\t\t\tCode Bank \n\t\t\t\n\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t
  • Login
  • \n\t\t\t\t
\n\n\t\t\t
\n\t\t
\n\t\n\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Login
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\t
\n\n\n\n\n","output":"str","x":530,"y":60,"wires":[["220f9850.c43df8"]]},{"id":"64360e03.3772e","type":"http in","z":"c6bbf06d.815c5","name":"","url":"login","method":"get","upload":false,"swaggerDoc":"","x":80,"y":60,"wires":[["95cd613f.395328"]]},{"id":"220f9850.c43df8","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":750,"y":60,"wires":[]},{"id":"bf31cf8b.2cc6d8","type":"http in","z":"c6bbf06d.815c5","name":"","url":"menus","method":"get","upload":false,"swaggerDoc":"","x":90,"y":300,"wires":[["bb90e0.960a872"]]},{"id":"7722cac2.11a60c","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":530,"y":300,"wires":[]},{"id":"bb90e0.960a872","type":"template","z":"c6bbf06d.815c5","name":"Menus","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"\n\n\n\n\nCode Bank | Menu\n\n\n\n\n\n\n\n\n\n\t\n\t\t
\n\t\t\tCode Bank\n\t\t\t\n\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t
  • Home\n\t\t\t\t\t
  • \n\t\t\t\t\t
  • Logout\n\t\t\t\t\t
  • \n\t\t\t\t
\n\n\t\t\t
\n\t\t
\n\t\n\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
What do you wish to do today?
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\n","output":"str","x":310,"y":300,"wires":[["7722cac2.11a60c"]]},{"id":"29d98eb5.b1a752","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":1110,"y":800,"wires":[]},{"id":"98d7d99b.d746a","type":"http in","z":"c6bbf06d.815c5","name":"","url":"transfer","method":"post","upload":false,"swaggerDoc":"","x":100,"y":400,"wires":[["20fe935b.0e9cec"]]},{"id":"4b50b12b.6aa34","type":"function","z":"c6bbf06d.815c5","name":"","func":"msg.headers = {};\nmsg.headers['X-IBM-Client-Id']= msg.payload.client_id;\nvar globalContext = global;\nnode.error(msg.payload.inputaccesstoken);\nmsg.headers['Authorization']= 'Bearer '+msg.payload.inputaccesstoken;\nmsg.url = globalContext.get(\"transfer_url\");\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":400,"wires":[["7b99770f.8d6ef"]]},{"id":"7b99770f.8d6ef","type":"http request","z":"c6bbf06d.815c5","name":"Transfer funds","method":"POST","ret":"txt","paytoqs":false,"url":"","tls":"","proxy":"","authType":"basic","x":600,"y":400,"wires":[["9cb826c7.24c0f8"]]},{"id":"a138ca28.343908","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":1270,"y":400,"wires":[]},{"id":"a01df5d2.9286e8","type":"http in","z":"c6bbf06d.815c5","name":"","url":"transferui","method":"get","upload":false,"swaggerDoc":"","x":100,"y":500,"wires":[["28e37ecb.8f730a"]]},{"id":"294bce94.2a278a","type":"template","z":"c6bbf06d.815c5","name":"Funds Transfer UI","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"\n\n\n\n\nCode Bank | Transfer Funds\n\n\n\n\n\n\n\n\n\n\t\n\t\t
\n\t\t\tCode Bank\n\t\t\t\n\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t
  • Home\n\t\t\t\t\t
  • \n\t\t\t\t\t
  • Logout\n\t\t\t\t\t
  • \n\t\t\t\t
\n\n\t\t\t
\n\t\t
\n\t\n\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Transfer Funds
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\n\t\n\n\n\n\n","output":"str","x":490,"y":500,"wires":[["6f5579ea.009028"]]},{"id":"6f5579ea.009028","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":730,"y":500,"wires":[]},{"id":"fed7500a.128a68","type":"template","z":"c6bbf06d.815c5","name":"Transaction Summary Page","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"\n\n\n \n \n Code Bank | Summary\n \n \n \n \n \n\n\n\n\n
\n
\n
\n
\n
\n
Transaction Summary
\n
\n
\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n

{{{payload.errordesc}}}

\n
\n
\n
\n
\n
\n\n
\n\n\n","output":"str","x":1040,"y":400,"wires":[["a138ca28.343908"]]},{"id":"9cb826c7.24c0f8","type":"function","z":"c6bbf06d.815c5","name":"","func":"var jsonobj = JSON.parse(msg.payload);\nmsg.payload = {};\nmsg.payload = jsonobj;\nif (!jsonobj.request_no)\n{\n msg.payload.error=\"Some error occured\";\n msg.payload.errordesc=JSON.stringify(jsonobj);\n}\nreturn msg;","outputs":1,"noerr":0,"x":810,"y":400,"wires":[["fed7500a.128a68"]]},{"id":"9fe03781.b5c118","type":"template","z":"c6bbf06d.815c5","name":"Redirect to Menu","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"\n\n\n \n \n Code Bank | Authentication Successful!\n \n \n \n \n \n \n \n\n\n\n\n
\n
\n
\n
\n
\n
Authentication was successful.
\n
\n Got OAuth token and storing it in a cookie - {{{payload.token}}}.\n
\n Redirecting to menu options....\n
\n
\n \n
\n
\n
\n
\n\n
\n\n\n\n","output":"str","x":810,"y":800,"wires":[["29d98eb5.b1a752"]]},{"id":"ddcaec96.ca91c","type":"http in","z":"c6bbf06d.815c5","name":"","url":"style.css","method":"get","upload":false,"swaggerDoc":"","x":90,"y":640,"wires":[["faa0d820.1d6948"]]},{"id":"faa0d820.1d6948","type":"template","z":"c6bbf06d.815c5","name":"Styles","field":"payload","fieldType":"msg","format":"css","syntax":"plain","template":"/* Starter CSS for Flyout Menu */\n \nbody, html {\n height: 100%;\n}\n.bg {\n\n /* Full height */\n height: 100%;\n\n /* Center and scale the image nicely */\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.navbar-laravel\n{\n box-shadow: 0 2px 4px rgba(0,0,0,.8);\n}\n\n.navbar-brand , .nav-link, .my-form, .login-form\n{\n font-family: Raleway, sans-serif;\n}\n\n.my-form\n{\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.special-card {\n opacity: .7;\n}\n\n.transp {\n box-shadow: 0 2px 4px rgba(0,0,0,.04);\n}\n\n.my-form .row\n{\n margin-left: 0;\n margin-right: 0;\n}\n\n.login-form\n{\n padding-top: 12rem;\n padding-bottom: 1.5rem;\n}\n\n.login-form .row\n{\n margin-left: 0;\n margin-right: 0;\n}\n\n#cssmenu {\n padding: 0;\n margin: 0;\n border: 0;\n}\n#cssmenu ul,\nli {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n#cssmenu ul {\n position: relative;\n z-index: 597;\n float: left;\n}\n#cssmenu ul li {\n float: left;\n min-height: 1px;\n line-height: 1em;\n vertical-align: middle;\n}\n#cssmenu ul li.hover,\n#cssmenu ul li:hover {\n position: relative;\n z-index: 599;\n cursor: default;\n}\n#cssmenu ul ul {\n visibility: hidden;\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 598;\n width: 100%;\n}\n#cssmenu ul ul li {\n float: none;\n}\n#cssmenu ul li:hover > ul {\n visibility: visible;\n}\n#cssmenu ul ul {\n top: 0;\n left: 100%;\n}\n#cssmenu ul li {\n float: none;\n}\n/* Custom Stuff */\n#cssmenu span,\n#cssmenu a {\n display: inline-block;\n font-family: Arial, Helvetica, sans-serif;\n font-size: 12px;\n text-decoration: none;\n}\n#cssmenu {\n -moz-border-radius: 5px;\n -webkit-border-radius: 5px;\n border-radius: 5px;\n -moz-background-clip: padding;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.15);\n -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.15);\n box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.15);\n font-weight: 600;\n width: 200px;\n}\n#cssmenu:after,\n#cssmenu ul:after {\n content: '';\n display: block;\n clear: both;\n}\n#cssmenu > ul > li:first-child {\n -moz-border-radius: 5px 5px 0 0;\n -webkit-border-radius: 5px 5px 0 0;\n border-radius: 5px 5px 0 0;\n -moz-background-clip: padding;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n}\n#cssmenu > ul > li:last-child {\n -moz-border-radius: 0 0 5px 5px;\n -webkit-border-radius: 0 0 5px 5px;\n border-radius: 0 0 5px 5px;\n -moz-background-clip: padding;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n}\n#cssmenu > ul > li ul ul li:first-child {\n -moz-border-radius: 0 5px 0 0;\n -webkit-border-radius: 0 5px 0 0;\n border-radius: 0 5px 0 0;\n -moz-background-clip: padding;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n}\n#cssmenu > ul > li ul ul li:last-child {\n -moz-border-radius: 0 0 5px 0;\n -webkit-border-radius: 0 0 5px 0;\n border-radius: 0 0 5px 0;\n -moz-background-clip: padding;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n}\n#cssmenu ul,\n#cssmenu li {\n width: 100%;\n}\n#cssmenu li {\n background: #c0bebf url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA0CAMAAAB8fKKlAAAAmVBMVEXy7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7erx7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7ery7eoO3g4TAAAAMnRSTlP8+fbz7+vn497Z1M/KxL+5s66oopuVj4mDfHZwamRdV1FMRkA7NTArJiEcGBQQDAkGA02z+X0AAABLSURBVHheDcGDEQMBAACwvFnbtrv/cO3F949AKBJLpDK5QqlSa2hqaevo6ukbGBoZm5iamVtYWlnb2NrZOzg6Obu4url7eHp5+/wAxikFLnlTZcYAAAAASUVORK5CYII=) repeat-x;\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f2edea), color-stop(1, #c0bebf));\n background-image: -webkit-linear-gradient(top, #f2edea, #c0bebf);\n background-image: -moz-linear-gradient(top, #f2edea, #c0bebf);\n background-image: -ms-linear-gradient(top, #f2edea, #c0bebf);\n background-image: -o-linear-gradient(top, #f2edea, #c0bebf);\n background-image: linear-gradient(#f2edea, #c0bebf);\n}\n#cssmenu li:hover,\n#cssmenu li.active {\n background: #606a76 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA0CAMAAAB8fKKlAAAAmVBMVEVKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmJKVmL///9KVmL3Z0MtAAAAMnRSTlP8+fby7+vm4t3Y087Iw723sauln5mTjIaAeXNsZmBaVE5IQjw3MSwnIh0ZFBANCQYDAAm6nKYAAABLSURBVHheDcGDEQMBAACwvFnbtrv/cO3F949AKBJLpDK5QqlSa2hqaevo6ukbGBoZm5iamVtYWlnb2NrZOzg6Obu4url7eHp5+/wAxikFLnlTZcYAAAAASUVORK5CYII=) repeat-x;\n -moz-box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.15);\n -webkit-box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.15);\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #4a5662), color-stop(1, #606a76));\n background-image: -webkit-linear-gradient(top, #4a5662, #606a76);\n background-image: -moz-linear-gradient(top, #4a5662, #606a76);\n background-image: -ms-linear-gradient(top, #4a5662, #606a76);\n background-image: -o-linear-gradient(top, #4a5662, #606a76);\n background-image: linear-gradient(#4a5662, #606a76);\n}\n#cssmenu li:hover > a,\n#cssmenu li.active > a {\n color: #FFF;\n}\n#cssmenu a {\n color: #666666;\n line-height: 160%;\n padding: 16px 8px 16px 28px;\n width: 164px;\n}\n#cssmenu ul ul {\n -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);\n width: 200px;\n}\n#cssmenu ul ul li {\n background: #606a76;\n border-bottom: 1px solid #59636F;\n -moz-box-shadow: inset 0 1px 0 #66707c;\n -webkit-box-shadow: inset 0 1px 0 #66707c;\n box-shadow: inset 0 1px 0 #66707c;\n}\n#cssmenu ul ul li:hover {\n background: #4a5662;\n}\n#cssmenu ul ul li a {\n color: #FFF;\n}\n#cssmenu ul ul a,\n#cssmenu ul ul a span {\n font-size: 12px;\n}\n\nbody{\n margin: 0;\n font-size: .9rem;\n font-weight: 400;\n line-height: 1.6;\n color: #212529;\n text-align: left;\n background-color: #f5f8fa;\n}","output":"str","x":310,"y":640,"wires":[["dbc3aa15.f5da28"]]},{"id":"c7535f45.f3ad88","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":770,"y":640,"wires":[]},{"id":"dbc3aa15.f5da28","type":"function","z":"c6bbf06d.815c5","name":"","func":"msg.headers = {};\nmsg.headers[\"Content-Type\"]=\"text/css\";\nmsg.headers[\"Accept\"]=\"text/css\";\nreturn msg;","outputs":1,"noerr":0,"x":550,"y":640,"wires":[["c7535f45.f3ad88"]]},{"id":"38a14d84.ad506a","type":"http in","z":"c6bbf06d.815c5","name":"","url":"/authorize","method":"post","upload":false,"swaggerDoc":"","x":100,"y":180,"wires":[["8c345d04.a34438"]]},{"id":"60983a42.5d8f84","type":"function","z":"c6bbf06d.815c5","name":"","func":"var jsonstr = msg.payload;\nmsg.payload={};\nnode.error(jsonstr);\nmsg.payload = JSON.parse(jsonstr);\n\nvar globalContext = global;\nmsg.payload.username = globalContext.get(\"username\");\nmsg.payload.password = globalContext.get(\"password\");\nmsg.payload.oauth_authorize_url = globalContext.get(\"oauth_authorize_url\");\nmsg.payload.client_id = globalContext.get(\"client_id\");\n\nmsg.url = msg.payload.oauth_authorize_url;\n\nmsg.headers={}\nmsg.headers['Content-Type']= 'application/x-www-form-urlencoded';\nreturn msg;","outputs":1,"noerr":0,"x":630,"y":180,"wires":[["e47566bc.2f9018"]]},{"id":"620da1b2.3e6858","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":1050,"y":180,"wires":[]},{"id":"e47566bc.2f9018","type":"http request","z":"c6bbf06d.815c5","name":"","method":"POST","ret":"txt","paytoqs":false,"url":"","tls":"","proxy":"","authType":"basic","x":830,"y":180,"wires":[["620da1b2.3e6858"]]},{"id":"95cd613f.395328","type":"function","z":"c6bbf06d.815c5","name":"GetGlobal","func":"msg.payload={}\nvar globalContext = global;\nmsg.payload.node_red_url = globalContext.get(\"node_red_url\");\nreturn msg;","outputs":1,"noerr":0,"x":340,"y":60,"wires":[["af023898.f95ea8"]]},{"id":"efaffa7.fb17188","type":"http in","z":"c6bbf06d.815c5","name":"Configure OAUTH urls","url":"/configureui","method":"get","upload":false,"swaggerDoc":"","x":120,"y":960,"wires":[["d6c6970b.c6a7a8"]]},{"id":"d6c6970b.c6a7a8","type":"template","z":"c6bbf06d.815c5","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"\n\n\n\n\nCode Bank | Configuration\n\n\n\n\n\n\n\n\n\t\n\t\t
\n\t\t\tConfigure OAuth URLs \n\t\t\t\n\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t
  • Login
  • \n\t\t\t\t
\n\n\t\t\t
\n\t\t
\n\t\n\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
OAuth2 Configuration
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\t
\n\n\n\n\n","output":"str","x":420,"y":960,"wires":[["9508e6d5.2ff9e"]]},{"id":"9508e6d5.2ff9e","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"","headers":{},"x":710,"y":960,"wires":[]},{"id":"462146fb.1d2898","type":"http in","z":"c6bbf06d.815c5","name":"Apply Configuration","url":"/configure","method":"post","upload":false,"swaggerDoc":"","x":110,"y":1040,"wires":[["3e3385cc.9e7a1a","3f2eb0ce.eee89"]]},{"id":"3e3385cc.9e7a1a","type":"function","z":"c6bbf06d.815c5","name":"SetGlobal","func":"var node_red_url = msg.payload.node_red_base_url;\nvar oauth_authorize_url = msg.payload.authorize_url;\nvar oauth_token_url = msg.payload.token_url;\nvar redirect_url = msg.payload.redirect_url;\nvar client_id = msg.payload.client_id;\nvar transfer_url = msg.payload.transfer_url;\n\nvar globalContext = global;\nglobalContext.set(\"node_red_url\",node_red_url);\nglobalContext.set(\"oauth_authorize_url\",oauth_authorize_url);\nglobalContext.set(\"oauth_token_url\", oauth_token_url);\nglobalContext.set(\"redirect_url\", redirect_url);\nglobalContext.set(\"client_id\", client_id);\nglobalContext.set(\"transfer_url\", transfer_url);\nreturn msg;","outputs":1,"noerr":0,"x":380,"y":1040,"wires":[["761fbbd2.ef9bc4"]]},{"id":"761fbbd2.ef9bc4","type":"template","z":"c6bbf06d.815c5","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"\n \n Applied configuration successfully. Please wait...\n \n \n","output":"str","x":580,"y":1040,"wires":[["5d642d21.50debc"]]},{"id":"5d642d21.50debc","type":"http response","z":"c6bbf06d.815c5","name":"","statusCode":"200","headers":{},"x":800,"y":1040,"wires":[]},{"id":"3f2eb0ce.eee89","type":"debug","z":"c6bbf06d.815c5","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":400,"y":1120,"wires":[]},{"id":"5387f225.ba6ba4","type":"template","z":"c6bbf06d.815c5","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"response_type\":\"code\",\"client_id\":\"{{{payload.client_id}}}\",\"scope\":\"funds_transfer\",\"redirect_uri\":\"{{{payload.redirect_url}}}\",\"original-url\":\"{{{payload.oauth_authorize_url}}}?response_type=code&client_id={{{payload.client_id}}}&redirect_uri={{{payload.redirect_url}}}&scope=funds_transfer\",\"apim-source\":\"html-login\"}","output":"str","x":420,"y":180,"wires":[["60983a42.5d8f84"]]},{"id":"8c345d04.a34438","type":"function","z":"c6bbf06d.815c5","name":"GetGlobal","func":"var globalContext = global;\nglobalContext.set(\"username\",msg.payload.username);\nglobalContext.set(\"password\",msg.payload.password);\nmsg.payload.oauth_authorize_url = globalContext.get(\"oauth_authorize_url\");\nmsg.payload.redirect_url = globalContext.get(\"redirect_url\");\nmsg.payload.client_id = globalContext.get(\"client_id\");\nreturn msg;","outputs":1,"noerr":0,"x":260,"y":180,"wires":[["5387f225.ba6ba4"]]},{"id":"28e37ecb.8f730a","type":"function","z":"c6bbf06d.815c5","name":"GetGlobal","func":"var globalContext = global;\nglobalContext.set(\"username\",msg.payload.username);\nglobalContext.set(\"password\",msg.payload.password);\nmsg.payload.node_red_url = globalContext.get(\"node_red_url\");\nmsg.payload.oauth_authorize_url = globalContext.get(\"oauth_authorize_url\");\nmsg.payload.oauth_token_url = globalContext.get(\"oauth_token_url\");\nmsg.payload.redirect_url = globalContext.get(\"redirect_url\");\nmsg.payload.client_id = globalContext.get(\"client_id\");\nnode.error(globalContext);\nnode.error(globalContext.get(\"oauth_token_url\"));\nreturn msg;","outputs":1,"noerr":0,"x":280,"y":500,"wires":[["294bce94.2a278a"]]},{"id":"20fe935b.0e9cec","type":"function","z":"c6bbf06d.815c5","name":"GetGlobal","func":"var globalContext = global;\nglobalContext.set(\"username\",msg.payload.username);\nglobalContext.set(\"password\",msg.payload.password);\nmsg.payload.node_red_url = globalContext.get(\"node_red_url\");\nmsg.payload.oauth_authorize_url = globalContext.get(\"oauth_authorize_url\");\nmsg.payload.oauth_token_url = globalContext.get(\"oauth_token_url\");\nmsg.payload.redirect_url = globalContext.get(\"redirect_url\");\nmsg.payload.client_id = globalContext.get(\"client_id\");\nnode.error(globalContext);\nnode.error(globalContext.get(\"oauth_token_url\"));\nreturn msg;","outputs":1,"noerr":0,"x":280,"y":400,"wires":[["4b50b12b.6aa34"]]},{"id":"8df7bd0e.4dbc38","type":"comment","z":"c6bbf06d.815c5","name":"The below flow renders login page","info":"","x":160,"y":20,"wires":[]},{"id":"99463aee.698fd8","type":"comment","z":"c6bbf06d.815c5","name":"The below flow invokes authorize endpoint on API Connect","info":"","x":230,"y":140,"wires":[]},{"id":"8251b340.ebc5f","type":"comment","z":"c6bbf06d.815c5","name":"The below flow renders the menu page","info":"","x":170,"y":240,"wires":[]},{"id":"e14930b8.f5b6c","type":"comment","z":"c6bbf06d.815c5","name":"The below flow invokes the funds transfer endpoint on API Connect","info":"","x":260,"y":360,"wires":[]},{"id":"fb3fd524.30924","type":"comment","z":"c6bbf06d.815c5","name":"The below flow renders the Funds Transfer UI page","info":"","x":211,"y":458,"wires":[]},{"id":"74d5a565.96711c","type":"comment","z":"c6bbf06d.815c5","name":"The below flow returns the CSS style sheet","info":"","x":180,"y":580,"wires":[]},{"id":"1873845c.9c1544","type":"comment","z":"c6bbf06d.815c5","name":"The below endpoint is the Redirect URI for OAuth","info":"","x":200,"y":740,"wires":[]},{"id":"1ef79db3.c01faa","type":"comment","z":"c6bbf06d.815c5","name":"The below flow renders application configuration page","info":"","x":220,"y":920,"wires":[]},{"id":"f73f166b.d51a58","type":"comment","z":"c6bbf06d.815c5","name":"The below flow stores the application configuration on global context","info":"","x":270,"y":1000,"wires":[]}]