Merge branch 'master' of https://github.com/wso2/product-iots
@ -0,0 +1,62 @@
|
||||
<!--
|
||||
~ Copyright (c) 2018, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>wso2iot-parent</artifactId>
|
||||
<version>3.3.0-update1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>wso2is-cxf-filters</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Identity Server : cxf filters</name>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<!-- Download JWT Bearer Grant jar from nexus and copy to the oauth2GrantCopied folder-->
|
||||
<execution>
|
||||
<id>download_oauth_client_authenticaion_proxy_jar</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>org.wso2.carbon.identity.inbound.auth.oauth2</groupId>
|
||||
<artifactId>org.wso2.carbon.identity.oauth.client.authn.filter</artifactId>
|
||||
<version>${identity.inbound.auth.oauth.version}</version>
|
||||
<type>jar</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${basedir}/target/cxfFilters/jar
|
||||
</outputDirectory>
|
||||
<includes>**/*.jar</includes>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
Before Width: | Height: | Size: 523 B |
Before Width: | Height: | Size: 233 B |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 16 KiB |
@ -1,69 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head> <script type="text/javascript" src="../../carbon/googleanalytics/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../../carbon/googleanalytics/js/googleAnalyticsProcessor.js"></script>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||
<title>StratosLive</title>
|
||||
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link rel="icon" href="images/favicon.ico" type="image/x-icon"/>
|
||||
<meta name="description" content="WSO2 is the lean enterprise middleware company, delivering the only complete open source enterprise SOA middleware stack available internally and in the cloud." />
|
||||
<meta name="keywords" content="cloud, platform-as-a-service, PaaS" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="main-content">
|
||||
<div id="header">
|
||||
<div class="logo"><img src="images/logo.gif"/></div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="intro">
|
||||
<div class="register">
|
||||
<a href="https://stratoslive.wso2.com/carbon/tenant-register/select_domain.jsp"><img src="images/register.gif"/></a>
|
||||
<a href="../carbon/sso-acs/redirect_ajaxprocessor.jsp"><img src="images/sign-in.gif"/></a>
|
||||
</div>
|
||||
<p>WSO2 MB brings Event Driven Architecture capabilities to WSO2 Carbon platform. It provides WS-Eventing, JMS and SQS interfaces to client. It uses Apache Qpid as the underling broker which supports AMQP.</p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<div class="features">
|
||||
<h2>Features</h2>
|
||||
<div class="feature feature-left">
|
||||
<img src="images/feature-01-icon.gif"/>
|
||||
<h2>Bring CEP to SOA</h2>
|
||||
<p>
|
||||
Bring CEP to SOA by processing XML events and produce results as XML events.
|
||||
</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<img src="images/feature-02-icon.gif"/>
|
||||
<h2>Registry Storage</h2>
|
||||
<p>
|
||||
Ability to define different event streams, queries and out put streams and store them in the registry as a bucket.
|
||||
</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<img src="images/feature-03-icon.gif"/>
|
||||
<h2>Esper and Fusion</h2>
|
||||
<p>
|
||||
Support Esper and fusion back end runtimes.
|
||||
</p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div class="footer-links">
|
||||
<a href="http://www.wso2.com/cloud/services/terms-of-use" target="_blank">Terms of Service</a> | <a href="http://www.wso2.com/cloud/services/privacy-policy" target="_blank">Privacy Policy</a> | <a href="http://www.wso2.com/cloud/services/support" target="_blank">Support</a>
|
||||
</div>
|
||||
<div class="powered">
|
||||
<span>Powered by</span><img src="images/powered-logo.gif" alt="ESB"/>
|
||||
</div>
|
||||
<span class="copyright">©stratoslive.wso2.com copyright 2010-2011 WSO2, Inc. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,46 +0,0 @@
|
||||
body { font-family: "Calibri","Lucida Grande","Lucida Sans","Microsoft Sans Serif","Lucida Sans Unicode","Verdana","Sans-serif","trebuchet ms"; font-size: .85em; line-height: 135%; color: #434343; margin: 0px; padding: 0px; background-color: #94C8EC;}
|
||||
|
||||
p { }
|
||||
|
||||
td { }
|
||||
|
||||
a:link { text-decoration: none; }
|
||||
|
||||
a:visited { text-decoration: none; }
|
||||
|
||||
a:hover { text-decoration: none; }
|
||||
|
||||
a:active { text-decoration: none; }
|
||||
|
||||
a img { border: 0px; }
|
||||
div
|
||||
.clear { clear: both; }
|
||||
|
||||
div#main-content { width: 960px; margin: auto; background-image: url(images/top.gif); background-repeat: no-repeat; background-position: left top; }
|
||||
|
||||
div#header { height: 125px; }
|
||||
div.logo { float: left; margin-top: 35px; }
|
||||
div.sign-in { float: right; margin-top: 35px; }
|
||||
|
||||
div#content { background-color: #ffffff; background-image: url(images/content-bg.gif); background-repeat: repeat-y; background-position: left top; }
|
||||
|
||||
div.intro { padding: 35px; padding-top: 10px; padding-bottom: 20px; font-size: 125%; line-height: 130%; float: left; background-image: url(images/intro-bg.gif); background-position: left bottom; background-repeat: no-repeat; }
|
||||
div.intro p { margin-top: 0px; margin-bottom: 0px; }
|
||||
|
||||
div.register { float: right; margin-left: 40px; margin-top: 0px; margin-right: 0px; width: 400px; text-align: center;}
|
||||
div.register a img { margin-bottom: 7px; }
|
||||
div.register a:hover img { opacity:0.7;filter:alpha(opacity=70) }
|
||||
|
||||
div.features { margin-top: 20px; }
|
||||
div.features h2 { margin-top: 0px; margin-bottom: 0px; font-size: 24px; color: #003A63; margin-left: 35px; margin-right: 35px; border-bottom: solid 0px #79BDE8; padding-bottom: 10px; background-image: url(images/title-bg.gif); background-repeat: no-repeat; background-position: left bottom; }
|
||||
div.feature { float: left; width: 230px; margin-left: 30px; margin-top: 7px; padding: 20px; text-align: left; }
|
||||
div.feature img { float: left; margin-right: 10px; width: 64px; }
|
||||
div.feature h2 { margin-top: 0px; margin-bottom: 7px; color: #0499CC; font-size: 140%; line-height: 110%; font-weight: normal; border-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-bottom: 0px; background-image: none; }
|
||||
div.feature p { margin-top: 0px; padding-top: 0px; }
|
||||
div.feature-left { margin-left: 41px; }
|
||||
|
||||
div#footer { height: 80px; background-image: url(images/bottom.gif); background-position: left top; background-repeat: no-repeat; padding-top: 25px; }
|
||||
div#footer div.powered { color: #333333; float: right; font-size: 85%; margin-right: 10px; }
|
||||
div#footer div.powered span { float: left; line-height: 23px; margin-right: 5px; }
|
||||
div.footer-links { padding-bottom: 5px; padding-left: 10px; border-bottom: solid 1px #4E84C4; margin-bottom: 10px; color: #4E84C4; }
|
||||
div#footer span.copyright { font-size: 90%; padding-left: 10px; }
|
@ -0,0 +1,196 @@
|
||||
body {
|
||||
background: #f9f9f9;
|
||||
font-family: 'Roboto Light', Arial, Helvetica, sans-serif;
|
||||
font-weight: 300;
|
||||
min-height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
header {
|
||||
background: #222222;
|
||||
min-height: 50px;
|
||||
position: relative;
|
||||
}
|
||||
header .brand a {
|
||||
min-height: 24px;
|
||||
}
|
||||
header .brand img.logo {
|
||||
height: 24px;
|
||||
}
|
||||
header .brand h1 {
|
||||
margin: 0 0 0 5px;
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
}
|
||||
header .brand h1 em {
|
||||
font-weight: 500;
|
||||
font-size: 17px;
|
||||
margin: 0;
|
||||
color: #ffffff;
|
||||
padding: 3px 0 0 0;
|
||||
font-style: normal;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
min-height: 40px;
|
||||
overflow: hidden;
|
||||
color: #cbcbcb;
|
||||
background: #222222;
|
||||
}
|
||||
footer > .container, footer > .container-fluid {
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
footer > .container p, footer > .container-fluid p {
|
||||
line-height: 40px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
footer a, footer a:hover {
|
||||
color: #cbcbcb;
|
||||
}
|
||||
|
||||
.col-centered{
|
||||
float: none;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.boarder-bottom-blue {
|
||||
border-bottom: 2px solid #006596;
|
||||
}
|
||||
.padding-double {
|
||||
padding: 20px;
|
||||
}
|
||||
.white {
|
||||
color: #FFF;
|
||||
}
|
||||
.blue-bg {
|
||||
background-color: #3a9ecf !important;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.boarder-all {
|
||||
border: 1px solid #d8d8d8;
|
||||
background: #FFF;
|
||||
margin-top: -10px;
|
||||
}
|
||||
.font-large {
|
||||
font-size: 16px;
|
||||
}
|
||||
.wr-input-control {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.wr-login {
|
||||
padding-top: 50px;
|
||||
|
||||
}
|
||||
|
||||
.wr-login input[type=text], .wr-login input[type=password]{
|
||||
border: 1px #d2d2d2 solid;
|
||||
width: 100%;
|
||||
padding: 6px 10px;
|
||||
z-index: 1;
|
||||
-webkit-appearance: none;
|
||||
line-height: 30px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
.wr-btn {
|
||||
font-weight: normal;
|
||||
font-size: 13px;
|
||||
color: #fff;
|
||||
background: #5d81d2;
|
||||
padding: 10px 10px;
|
||||
display: inline-block;
|
||||
border: none;
|
||||
}
|
||||
button.grey-bg:hover {
|
||||
background-color: #3A9ECF;
|
||||
}
|
||||
.wr-btn:hover {
|
||||
text-decoration: none;
|
||||
color: #ffffff;
|
||||
background-color: #6b94f1;
|
||||
}
|
||||
button.grey-bg {
|
||||
background-color: #222222;
|
||||
}
|
||||
button.font-extra-large {
|
||||
font-size: 20px;
|
||||
}
|
||||
img.idp-image {
|
||||
padding: 3px 2px;
|
||||
}
|
||||
|
||||
|
||||
.padding-left {padding-left:10px;}
|
||||
.padding-right {padding-right:10px;}
|
||||
.padding-top {padding-top:10px;}
|
||||
.padding-bottom {padding-bottom:10px;}
|
||||
.padding{padding:10px;}
|
||||
.padding-none{ padding:0px !important;}
|
||||
|
||||
.padding-left-double {padding-left:20px;}
|
||||
.padding-right-double {padding-right:20px;}
|
||||
.padding-top-double {padding-top:20px;}
|
||||
.padding-bottom-double {padding-bottom:20px;}
|
||||
.padding-double{padding:20px;}
|
||||
|
||||
.margin-left {margin-left:10px;}
|
||||
.margin-right {margin-right:10px;}
|
||||
.margin-top {margin-top:10px;}
|
||||
.margin-bottom {margin-bottom:10px;}
|
||||
.margin-bottom-half {margin-bottom:5px;}
|
||||
.margin{margin:10px;}
|
||||
.margin-none{margin: 0px !important;}
|
||||
|
||||
.margin-left-double {margin-left:20px;}
|
||||
.margin-right-double {margin-right:20px;}
|
||||
.margin-top-double {margin-top:20px;}
|
||||
.margin-bottom-double {margin-bottom:20px;}
|
||||
.margin-double{margin:20px;}
|
||||
.font-small{font-size:12px;}
|
||||
.font-medium{font-size:16px;}
|
||||
.font-large{font-size:1.3em;}
|
||||
.font-extra-large{font-size:20px !important;}
|
||||
|
||||
.error-alert{
|
||||
background-color: #FFE7E8;
|
||||
}
|
||||
|
||||
.form-group.required .control-label:after {
|
||||
content:" *";
|
||||
color:red;
|
||||
}
|
||||
span.required{
|
||||
color: red;
|
||||
vertical-align: middle;
|
||||
}
|
||||
span.mandatory{
|
||||
color: red;
|
||||
vertical-align: middle;
|
||||
font-size: 12px;
|
||||
}
|
||||
span.mandatory-msg{
|
||||
color: red;
|
||||
}
|
||||
.select-all .checkbox{
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.border-top{
|
||||
border-top: 1px solid #d8d8d8;
|
||||
}
|
||||
.padding-bottom-100{
|
||||
padding-bottom: 100px;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('../fonts/Roboto/Roboto-Black-webfont.woff') format('woff'),
|
||||
url('../fonts/Roboto/Roboto-Black-webfont.ttf') format('truetype'),
|
||||
url('../fonts/Roboto/Roboto-Black-webfont.svg') format('svg');
|
||||
font-weight: 100;
|
||||
font-style: normal;
|
||||
}
|
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 4.6 KiB |
@ -0,0 +1,13 @@
|
||||
{
|
||||
"welcomeFiles":["pages/privacy-policy.jag"],
|
||||
"urlMappings":[
|
||||
{
|
||||
"url":"/privacy-policy",
|
||||
"path":"/pages/privacy-policy.jag"
|
||||
},
|
||||
{
|
||||
"url":"/cookie-policy",
|
||||
"path":"/pages/cookie-policy.jag"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,361 @@
|
||||
// Copyright 2014 Google Inc. All rights reserved
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
/**
|
||||
* @fileoverview The U2F api.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/** Namespace for the U2F api.
|
||||
* @type {Object}
|
||||
*/
|
||||
var u2f = u2f || {};
|
||||
|
||||
/**
|
||||
* The U2F extension id
|
||||
* @type {string}
|
||||
* @const
|
||||
*/
|
||||
u2f.EXTENSION_ID = 'kmendfapggjehodndflmmgagdbamhnfd';
|
||||
|
||||
/**
|
||||
* Message types for messsages to/from the extension
|
||||
* @const
|
||||
* @enum {string}
|
||||
*/
|
||||
u2f.MessageTypes = {
|
||||
'U2F_REGISTER_REQUEST': 'u2f_register_request',
|
||||
'U2F_SIGN_REQUEST': 'u2f_sign_request',
|
||||
'U2F_REGISTER_RESPONSE': 'u2f_register_response',
|
||||
'U2F_SIGN_RESPONSE': 'u2f_sign_response'
|
||||
};
|
||||
|
||||
/**
|
||||
* Response status codes
|
||||
* @const
|
||||
* @enum {number}
|
||||
*/
|
||||
u2f.ErrorCodes = {
|
||||
'OK': 0,
|
||||
'OTHER_ERROR': 1,
|
||||
'BAD_REQUEST': 2,
|
||||
'CONFIGURATION_UNSUPPORTED': 3,
|
||||
'DEVICE_INELIGIBLE': 4,
|
||||
'TIMEOUT': 5
|
||||
};
|
||||
|
||||
/**
|
||||
* A message type for registration requests
|
||||
* @typedef {{
|
||||
* type: u2f.MessageTypes,
|
||||
* signRequests: Array.<u2f.SignRequest>,
|
||||
* registerRequests: ?Array.<u2f.RegisterRequest>,
|
||||
* timeoutSeconds: ?number,
|
||||
* requestId: ?number
|
||||
* }}
|
||||
*/
|
||||
u2f.Request;
|
||||
|
||||
/**
|
||||
* A message for registration responses
|
||||
* @typedef {{
|
||||
* type: u2f.MessageTypes,
|
||||
* responseData: (u2f.Error | u2f.RegisterResponse | u2f.SignResponse),
|
||||
* requestId: ?number
|
||||
* }}
|
||||
*/
|
||||
u2f.Response;
|
||||
|
||||
/**
|
||||
* An error object for responses
|
||||
* @typedef {{
|
||||
* errorCode: u2f.ErrorCodes,
|
||||
* errorMessage: ?string
|
||||
* }}
|
||||
*/
|
||||
u2f.Error;
|
||||
|
||||
/**
|
||||
* Data object for a single sign request.
|
||||
* @typedef {{
|
||||
* version: string,
|
||||
* challenge: string,
|
||||
* keyHandle: string,
|
||||
* appId: string
|
||||
* }}
|
||||
*/
|
||||
u2f.SignRequest;
|
||||
|
||||
/**
|
||||
* Data object for a sign response.
|
||||
* @typedef {{
|
||||
* keyHandle: string,
|
||||
* signatureData: string,
|
||||
* clientData: string
|
||||
* }}
|
||||
*/
|
||||
u2f.SignResponse;
|
||||
|
||||
/**
|
||||
* Data object for a registration request.
|
||||
* @typedef {{
|
||||
* version: string,
|
||||
* challenge: string,
|
||||
* appId: string
|
||||
* }}
|
||||
*/
|
||||
u2f.RegisterRequest;
|
||||
|
||||
/**
|
||||
* Data object for a registration response.
|
||||
* @typedef {{
|
||||
* registrationData: string,
|
||||
* clientData: string
|
||||
* }}
|
||||
*/
|
||||
u2f.RegisterResponse;
|
||||
|
||||
|
||||
// Low level MessagePort API support
|
||||
|
||||
/**
|
||||
* Sets up a MessagePort to the U2F extension using the
|
||||
* available mechanisms.
|
||||
* @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback
|
||||
*/
|
||||
u2f.getMessagePort = function(callback) {
|
||||
if (typeof chrome != 'undefined' && chrome.runtime) {
|
||||
// The actual message here does not matter, but we need to get a reply
|
||||
// for the callback to run. Thus, send an empty signature request
|
||||
// in order to get a failure response.
|
||||
var msg = {
|
||||
type: u2f.MessageTypes.U2F_SIGN_REQUEST,
|
||||
signRequests: []
|
||||
};
|
||||
chrome.runtime.sendMessage(u2f.EXTENSION_ID, msg, function() {
|
||||
if (!chrome.runtime.lastError) {
|
||||
// We are on a whitelisted origin and can talk directly
|
||||
// with the extension.
|
||||
u2f.getChromeRuntimePort_(callback);
|
||||
} else {
|
||||
// chrome.runtime was available, but we couldn't message
|
||||
// the extension directly, use iframe
|
||||
u2f.getIframePort_(callback);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// chrome.runtime was not available at all, which is normal
|
||||
// when this origin doesn't have access to any extensions.
|
||||
u2f.getIframePort_(callback);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Connects directly to the extension via chrome.runtime.connect
|
||||
* @param {function(u2f.WrappedChromeRuntimePort_)} callback
|
||||
* @private
|
||||
*/
|
||||
u2f.getChromeRuntimePort_ = function(callback) {
|
||||
var port = chrome.runtime.connect(u2f.EXTENSION_ID,
|
||||
{'includeTlsChannelId': true});
|
||||
setTimeout(function() {
|
||||
callback(new u2f.WrappedChromeRuntimePort_(port));
|
||||
}, 0);
|
||||
};
|
||||
|
||||
/**
|
||||
* A wrapper for chrome.runtime.Port that is compatible with MessagePort.
|
||||
* @param {Port} port
|
||||
* @constructor
|
||||
* @private
|
||||
*/
|
||||
u2f.WrappedChromeRuntimePort_ = function(port) {
|
||||
this.port_ = port;
|
||||
};
|
||||
|
||||
/**
|
||||
* Posts a message on the underlying channel.
|
||||
* @param {Object} message
|
||||
*/
|
||||
u2f.WrappedChromeRuntimePort_.prototype.postMessage = function(message) {
|
||||
this.port_.postMessage(message);
|
||||
};
|
||||
|
||||
/**
|
||||
* Emulates the HTML 5 addEventListener interface. Works only for the
|
||||
* onmessage event, which is hooked up to the chrome.runtime.Port.onMessage.
|
||||
* @param {string} eventName
|
||||
* @param {function({data: Object})} handler
|
||||
*/
|
||||
u2f.WrappedChromeRuntimePort_.prototype.addEventListener =
|
||||
function(eventName, handler) {
|
||||
var name = eventName.toLowerCase();
|
||||
if (name == 'message' || name == 'onmessage') {
|
||||
this.port_.onMessage.addListener(function(message) {
|
||||
// Emulate a minimal MessageEvent object
|
||||
handler({'data': message});
|
||||
});
|
||||
} else {
|
||||
console.error('WrappedChromeRuntimePort only supports onMessage');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Sets up an embedded trampoline iframe, sourced from the extension.
|
||||
* @param {function(MessagePort)} callback
|
||||
* @private
|
||||
*/
|
||||
u2f.getIframePort_ = function(callback) {
|
||||
// Create the iframe
|
||||
var iframeOrigin = 'chrome-extension://' + u2f.EXTENSION_ID;
|
||||
var iframe = document.createElement('iframe');
|
||||
iframe.src = iframeOrigin + '/u2f-comms.html';
|
||||
iframe.setAttribute('style', 'display:none');
|
||||
document.body.appendChild(iframe);
|
||||
|
||||
var channel = new MessageChannel();
|
||||
var ready = function(message) {
|
||||
if (message.data == 'ready') {
|
||||
channel.port1.removeEventListener('message', ready);
|
||||
callback(channel.port1);
|
||||
} else {
|
||||
console.error('First event on iframe port was not "ready"');
|
||||
}
|
||||
};
|
||||
channel.port1.addEventListener('message', ready);
|
||||
channel.port1.start();
|
||||
|
||||
iframe.addEventListener('load', function() {
|
||||
// Deliver the port to the iframe and initialize
|
||||
iframe.contentWindow.postMessage('init', iframeOrigin, [channel.port2]);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// High-level JS API
|
||||
|
||||
/**
|
||||
* Default extension response timeout in seconds.
|
||||
* @const
|
||||
*/
|
||||
u2f.EXTENSION_TIMEOUT_SEC = 30;
|
||||
|
||||
/**
|
||||
* A singleton instance for a MessagePort to the extension.
|
||||
* @type {MessagePort|u2f.WrappedChromeRuntimePort_}
|
||||
* @private
|
||||
*/
|
||||
u2f.port_ = null;
|
||||
|
||||
/**
|
||||
* Callbacks waiting for a port
|
||||
* @type {Array.<function((MessagePort|u2f.WrappedChromeRuntimePort_))>}
|
||||
* @private
|
||||
*/
|
||||
u2f.waitingForPort_ = [];
|
||||
|
||||
/**
|
||||
* A counter for requestIds.
|
||||
* @type {number}
|
||||
* @private
|
||||
*/
|
||||
u2f.reqCounter_ = 0;
|
||||
|
||||
/**
|
||||
* A map from requestIds to client callbacks
|
||||
* @type {Object.<number,(function((u2f.Error|u2f.RegisterResponse))
|
||||
* |function((u2f.Error|u2f.SignResponse)))>}
|
||||
* @private
|
||||
*/
|
||||
u2f.callbackMap_ = {};
|
||||
|
||||
/**
|
||||
* Creates or retrieves the MessagePort singleton to use.
|
||||
* @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback
|
||||
* @private
|
||||
*/
|
||||
u2f.getPortSingleton_ = function(callback) {
|
||||
if (u2f.port_) {
|
||||
callback(u2f.port_);
|
||||
} else {
|
||||
if (u2f.waitingForPort_.length == 0) {
|
||||
u2f.getMessagePort(function(port) {
|
||||
u2f.port_ = port;
|
||||
u2f.port_.addEventListener('message',
|
||||
/** @type {function(Event)} */ (u2f.responseHandler_));
|
||||
|
||||
// Careful, here be async callbacks. Maybe.
|
||||
while (u2f.waitingForPort_.length)
|
||||
u2f.waitingForPort_.shift()(u2f.port_);
|
||||
});
|
||||
}
|
||||
u2f.waitingForPort_.push(callback);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Handles response messages from the extension.
|
||||
* @param {MessageEvent.<u2f.Response>} message
|
||||
* @private
|
||||
*/
|
||||
u2f.responseHandler_ = function(message) {
|
||||
var response = message.data;
|
||||
var reqId = response['requestId'];
|
||||
if (!reqId || !u2f.callbackMap_[reqId]) {
|
||||
console.error('Unknown or missing requestId in response.');
|
||||
return;
|
||||
}
|
||||
var cb = u2f.callbackMap_[reqId];
|
||||
delete u2f.callbackMap_[reqId];
|
||||
cb(response['responseData']);
|
||||
};
|
||||
|
||||
/**
|
||||
* Dispatches an array of sign requests to available U2F tokens.
|
||||
* @param {Array.<u2f.SignRequest>} signRequests
|
||||
* @param {function((u2f.Error|u2f.SignResponse))} callback
|
||||
* @param {number=} opt_timeoutSeconds
|
||||
*/
|
||||
u2f.sign = function(signRequests, callback, opt_timeoutSeconds) {
|
||||
u2f.getPortSingleton_(function(port) {
|
||||
var reqId = ++u2f.reqCounter_;
|
||||
u2f.callbackMap_[reqId] = callback;
|
||||
var req = {
|
||||
type: u2f.MessageTypes.U2F_SIGN_REQUEST,
|
||||
signRequests: signRequests,
|
||||
timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ?
|
||||
opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC),
|
||||
requestId: reqId
|
||||
};
|
||||
port.postMessage(req);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Dispatches register requests to available U2F tokens. An array of sign
|
||||
* requests identifies already registered tokens.
|
||||
* @param {Array.<u2f.RegisterRequest>} registerRequests
|
||||
* @param {Array.<u2f.SignRequest>} signRequests
|
||||
* @param {function((u2f.Error|u2f.RegisterResponse))} callback
|
||||
* @param {number=} opt_timeoutSeconds
|
||||
*/
|
||||
u2f.register = function(registerRequests, signRequests,
|
||||
callback, opt_timeoutSeconds) {
|
||||
u2f.getPortSingleton_(function(port) {
|
||||
var reqId = ++u2f.reqCounter_;
|
||||
u2f.callbackMap_[reqId] = callback;
|
||||
var req = {
|
||||
type: u2f.MessageTypes.U2F_REGISTER_REQUEST,
|
||||
signRequests: signRequests,
|
||||
registerRequests: registerRequests,
|
||||
timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ?
|
||||
opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC),
|
||||
requestId: reqId
|
||||
};
|
||||
port.postMessage(req);
|
||||
});
|
||||
};
|
@ -0,0 +1,587 @@
|
||||
/*!
|
||||
* Bootstrap v3.3.5 (http://getbootstrap.com)
|
||||
* Copyright 2011-2015 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
.btn-default,
|
||||
.btn-primary,
|
||||
.btn-success,
|
||||
.btn-info,
|
||||
.btn-warning,
|
||||
.btn-danger {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
||||
}
|
||||
.btn-default:active,
|
||||
.btn-primary:active,
|
||||
.btn-success:active,
|
||||
.btn-info:active,
|
||||
.btn-warning:active,
|
||||
.btn-danger:active,
|
||||
.btn-default.active,
|
||||
.btn-primary.active,
|
||||
.btn-success.active,
|
||||
.btn-info.active,
|
||||
.btn-warning.active,
|
||||
.btn-danger.active {
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-primary.disabled,
|
||||
.btn-success.disabled,
|
||||
.btn-info.disabled,
|
||||
.btn-warning.disabled,
|
||||
.btn-danger.disabled,
|
||||
.btn-default[disabled],
|
||||
.btn-primary[disabled],
|
||||
.btn-success[disabled],
|
||||
.btn-info[disabled],
|
||||
.btn-warning[disabled],
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
fieldset[disabled] .btn-primary,
|
||||
fieldset[disabled] .btn-success,
|
||||
fieldset[disabled] .btn-info,
|
||||
fieldset[disabled] .btn-warning,
|
||||
fieldset[disabled] .btn-danger {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-default .badge,
|
||||
.btn-primary .badge,
|
||||
.btn-success .badge,
|
||||
.btn-info .badge,
|
||||
.btn-warning .badge,
|
||||
.btn-danger .badge {
|
||||
text-shadow: none;
|
||||
}
|
||||
.btn:active,
|
||||
.btn.active {
|
||||
background-image: none;
|
||||
}
|
||||
.btn-default {
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dbdbdb;
|
||||
border-color: #ccc;
|
||||
}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus {
|
||||
background-color: #e0e0e0;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-default:active,
|
||||
.btn-default.active {
|
||||
background-color: #e0e0e0;
|
||||
border-color: #dbdbdb;
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-default[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
.btn-default.disabled:hover,
|
||||
.btn-default[disabled]:hover,
|
||||
fieldset[disabled] .btn-default:hover,
|
||||
.btn-default.disabled:focus,
|
||||
.btn-default[disabled]:focus,
|
||||
fieldset[disabled] .btn-default:focus,
|
||||
.btn-default.disabled.focus,
|
||||
.btn-default[disabled].focus,
|
||||
fieldset[disabled] .btn-default.focus,
|
||||
.btn-default.disabled:active,
|
||||
.btn-default[disabled]:active,
|
||||
fieldset[disabled] .btn-default:active,
|
||||
.btn-default.disabled.active,
|
||||
.btn-default[disabled].active,
|
||||
fieldset[disabled] .btn-default.active {
|
||||
background-color: #e0e0e0;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-primary {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #245580;
|
||||
}
|
||||
.btn-primary:hover,
|
||||
.btn-primary:focus {
|
||||
background-color: #265a88;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-primary:active,
|
||||
.btn-primary.active {
|
||||
background-color: #265a88;
|
||||
border-color: #245580;
|
||||
}
|
||||
.btn-primary.disabled,
|
||||
.btn-primary[disabled],
|
||||
fieldset[disabled] .btn-primary,
|
||||
.btn-primary.disabled:hover,
|
||||
.btn-primary[disabled]:hover,
|
||||
fieldset[disabled] .btn-primary:hover,
|
||||
.btn-primary.disabled:focus,
|
||||
.btn-primary[disabled]:focus,
|
||||
fieldset[disabled] .btn-primary:focus,
|
||||
.btn-primary.disabled.focus,
|
||||
.btn-primary[disabled].focus,
|
||||
fieldset[disabled] .btn-primary.focus,
|
||||
.btn-primary.disabled:active,
|
||||
.btn-primary[disabled]:active,
|
||||
fieldset[disabled] .btn-primary:active,
|
||||
.btn-primary.disabled.active,
|
||||
.btn-primary[disabled].active,
|
||||
fieldset[disabled] .btn-primary.active {
|
||||
background-color: #265a88;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-success {
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #3e8f3e;
|
||||
}
|
||||
.btn-success:hover,
|
||||
.btn-success:focus {
|
||||
background-color: #419641;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-success:active,
|
||||
.btn-success.active {
|
||||
background-color: #419641;
|
||||
border-color: #3e8f3e;
|
||||
}
|
||||
.btn-success.disabled,
|
||||
.btn-success[disabled],
|
||||
fieldset[disabled] .btn-success,
|
||||
.btn-success.disabled:hover,
|
||||
.btn-success[disabled]:hover,
|
||||
fieldset[disabled] .btn-success:hover,
|
||||
.btn-success.disabled:focus,
|
||||
.btn-success[disabled]:focus,
|
||||
fieldset[disabled] .btn-success:focus,
|
||||
.btn-success.disabled.focus,
|
||||
.btn-success[disabled].focus,
|
||||
fieldset[disabled] .btn-success.focus,
|
||||
.btn-success.disabled:active,
|
||||
.btn-success[disabled]:active,
|
||||
fieldset[disabled] .btn-success:active,
|
||||
.btn-success.disabled.active,
|
||||
.btn-success[disabled].active,
|
||||
fieldset[disabled] .btn-success.active {
|
||||
background-color: #419641;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-info {
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #28a4c9;
|
||||
}
|
||||
.btn-info:hover,
|
||||
.btn-info:focus {
|
||||
background-color: #2aabd2;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-info:active,
|
||||
.btn-info.active {
|
||||
background-color: #2aabd2;
|
||||
border-color: #28a4c9;
|
||||
}
|
||||
.btn-info.disabled,
|
||||
.btn-info[disabled],
|
||||
fieldset[disabled] .btn-info,
|
||||
.btn-info.disabled:hover,
|
||||
.btn-info[disabled]:hover,
|
||||
fieldset[disabled] .btn-info:hover,
|
||||
.btn-info.disabled:focus,
|
||||
.btn-info[disabled]:focus,
|
||||
fieldset[disabled] .btn-info:focus,
|
||||
.btn-info.disabled.focus,
|
||||
.btn-info[disabled].focus,
|
||||
fieldset[disabled] .btn-info.focus,
|
||||
.btn-info.disabled:active,
|
||||
.btn-info[disabled]:active,
|
||||
fieldset[disabled] .btn-info:active,
|
||||
.btn-info.disabled.active,
|
||||
.btn-info[disabled].active,
|
||||
fieldset[disabled] .btn-info.active {
|
||||
background-color: #2aabd2;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-warning {
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #e38d13;
|
||||
}
|
||||
.btn-warning:hover,
|
||||
.btn-warning:focus {
|
||||
background-color: #eb9316;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-warning:active,
|
||||
.btn-warning.active {
|
||||
background-color: #eb9316;
|
||||
border-color: #e38d13;
|
||||
}
|
||||
.btn-warning.disabled,
|
||||
.btn-warning[disabled],
|
||||
fieldset[disabled] .btn-warning,
|
||||
.btn-warning.disabled:hover,
|
||||
.btn-warning[disabled]:hover,
|
||||
fieldset[disabled] .btn-warning:hover,
|
||||
.btn-warning.disabled:focus,
|
||||
.btn-warning[disabled]:focus,
|
||||
fieldset[disabled] .btn-warning:focus,
|
||||
.btn-warning.disabled.focus,
|
||||
.btn-warning[disabled].focus,
|
||||
fieldset[disabled] .btn-warning.focus,
|
||||
.btn-warning.disabled:active,
|
||||
.btn-warning[disabled]:active,
|
||||
fieldset[disabled] .btn-warning:active,
|
||||
.btn-warning.disabled.active,
|
||||
.btn-warning[disabled].active,
|
||||
fieldset[disabled] .btn-warning.active {
|
||||
background-color: #eb9316;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-danger {
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #b92c28;
|
||||
}
|
||||
.btn-danger:hover,
|
||||
.btn-danger:focus {
|
||||
background-color: #c12e2a;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-danger:active,
|
||||
.btn-danger.active {
|
||||
background-color: #c12e2a;
|
||||
border-color: #b92c28;
|
||||
}
|
||||
.btn-danger.disabled,
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-danger,
|
||||
.btn-danger.disabled:hover,
|
||||
.btn-danger[disabled]:hover,
|
||||
fieldset[disabled] .btn-danger:hover,
|
||||
.btn-danger.disabled:focus,
|
||||
.btn-danger[disabled]:focus,
|
||||
fieldset[disabled] .btn-danger:focus,
|
||||
.btn-danger.disabled.focus,
|
||||
.btn-danger[disabled].focus,
|
||||
fieldset[disabled] .btn-danger.focus,
|
||||
.btn-danger.disabled:active,
|
||||
.btn-danger[disabled]:active,
|
||||
fieldset[disabled] .btn-danger:active,
|
||||
.btn-danger.disabled.active,
|
||||
.btn-danger[disabled].active,
|
||||
fieldset[disabled] .btn-danger.active {
|
||||
background-color: #c12e2a;
|
||||
background-image: none;
|
||||
}
|
||||
.thumbnail,
|
||||
.img-thumbnail {
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
}
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus {
|
||||
background-color: #e8e8e8;
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.dropdown-menu > .active > a,
|
||||
.dropdown-menu > .active > a:hover,
|
||||
.dropdown-menu > .active > a:focus {
|
||||
background-color: #2e6da4;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.navbar-default {
|
||||
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||
}
|
||||
.navbar-default .navbar-nav > .open > a,
|
||||
.navbar-default .navbar-nav > .active > a {
|
||||
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
|
||||
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||
}
|
||||
.navbar-brand,
|
||||
.navbar-nav > li > a {
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
|
||||
}
|
||||
.navbar-inverse {
|
||||
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
|
||||
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .open > a,
|
||||
.navbar-inverse .navbar-nav > .active > a {
|
||||
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
|
||||
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||
}
|
||||
.navbar-inverse .navbar-brand,
|
||||
.navbar-inverse .navbar-nav > li > a {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
|
||||
}
|
||||
.navbar-static-top,
|
||||
.navbar-fixed-top,
|
||||
.navbar-fixed-bottom {
|
||||
border-radius: 0;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a,
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
||||
color: #fff;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
}
|
||||
.alert {
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
||||
}
|
||||
.alert-success {
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #b2dba1;
|
||||
}
|
||||
.alert-info {
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #9acfea;
|
||||
}
|
||||
.alert-warning {
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #f5e79e;
|
||||
}
|
||||
.alert-danger {
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dca7a7;
|
||||
}
|
||||
.progress {
|
||||
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
|
||||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-success {
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-info {
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-warning {
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-danger {
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-striped {
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
.list-group {
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
}
|
||||
.list-group-item.active,
|
||||
.list-group-item.active:hover,
|
||||
.list-group-item.active:focus {
|
||||
text-shadow: 0 -1px 0 #286090;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #2b669a;
|
||||
}
|
||||
.list-group-item.active .badge,
|
||||
.list-group-item.active:hover .badge,
|
||||
.list-group-item.active:focus .badge {
|
||||
text-shadow: none;
|
||||
}
|
||||
.panel {
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
||||
}
|
||||
.panel-default > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-primary > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-success > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-info > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-warning > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-danger > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.well {
|
||||
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
|
||||
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dcdcdc;
|
||||
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-theme.css.map */
|
After Width: | Height: | Size: 106 KiB |
@ -0,0 +1,13 @@
|
||||
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
|
||||
require('../../js/transition.js')
|
||||
require('../../js/alert.js')
|
||||
require('../../js/button.js')
|
||||
require('../../js/carousel.js')
|
||||
require('../../js/collapse.js')
|
||||
require('../../js/dropdown.js')
|
||||
require('../../js/modal.js')
|
||||
require('../../js/tooltip.js')
|
||||
require('../../js/popover.js')
|
||||
require('../../js/scrollspy.js')
|
||||
require('../../js/tab.js')
|
||||
require('../../js/affix.js')
|
@ -0,0 +1,73 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>WSO2 IoT Server</title>
|
||||
|
||||
<link rel="icon" href="images/favicon.png" type="image/x-icon"/>
|
||||
<link href="libs/bootstrap_3.3.5/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="css/Roboto.css" rel="stylesheet">
|
||||
<link href="css/custom-common.css" rel="stylesheet">
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="js/html5shiv.min.js"></script>
|
||||
<script src="js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- header -->
|
||||
<header class="header header-default">
|
||||
<div class="container-fluid"><br></div>
|
||||
<div class="container-fluid">
|
||||
<div class="pull-left brand float-remove-xs text-center-xs">
|
||||
<a href="#">
|
||||
<img src="images/logo-inverse.svg" alt="wso2" title="wso2" class="logo">
|
||||
<h1><em>IoT Server</em></h1>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- page content -->
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!-- content -->
|
||||
<div class="container col-xs-10 col-sm-8 col-md-8 col-lg-6 col-centered wr-content wr-login col-centered padding-bottom-100">
|
||||
<div>
|
||||
<h2 class="wr-title uppercase blue-bg padding-double white boarder-bottom-blue margin-none">
|
||||
Privacy Policy
|
||||
</h2>
|
||||
</div>
|
||||
<div class="boarder-all ">
|
||||
<div class="clearfix"></div>
|
||||
<div class="padding-double login-form">
|
||||
<p>Under Construction</p>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /content -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- footer -->
|
||||
<footer class="footer">
|
||||
<div class="container-fluid">
|
||||
<p>WSO2 IoT Server | ©
|
||||
<script>document.write(new Date().getFullYear());</script>
|
||||
<a href="http://wso2.com/" target="_blank"><i class="icon fw fw-wso2"></i> Inc</a>. All rights reserved
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="libs/jquery_1.11.3/jquery-1.11.3.js"></script>
|
||||
<script src="libs/bootstrap_3.3.5/js/bootstrap.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/u2f-api.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,127 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
|
||||
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
|
||||
|
||||
<display-name>Entitlement-Service-Provider</display-name>
|
||||
|
||||
<!-- SWAGGER FILTER -->
|
||||
<filter>
|
||||
<filter-name>ApiOriginFilter</filter-name>
|
||||
<filter-class>org.wso2.carbon.identity.entitlement.endpoint.filter.ApiOriginFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>hstsEnabled</param-name>
|
||||
<param-value>false</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<filter-class>org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>patterns</param-name>
|
||||
<param-value>text/html" ,application/json" ,text/plain</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>filterAction</param-name>
|
||||
<param-value>enforce</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>httpHeaders</param-name>
|
||||
<param-value>Cache-Control: no-store, no-cache, must-revalidate, private</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ApiOriginFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>EntitlementServlet</servlet-name>
|
||||
<display-name>EntitlementServlet</display-name>
|
||||
<description>Entitlement Endpoints</description>
|
||||
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
|
||||
<!-- set the base path for the swagger application -->
|
||||
<init-param>
|
||||
<param-name>swagger.api.basepath</param-name>
|
||||
<param-value>https://localhost:9443/entitlement</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>EntitlementServlet</servlet-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<session-config>
|
||||
<session-timeout>60</session-timeout>
|
||||
<cookie-config>
|
||||
<secure>true</secure>
|
||||
</cookie-config>
|
||||
</session-config>
|
||||
|
||||
<security-constraint>
|
||||
<web-resource-collection>
|
||||
<web-resource-name>secured services</web-resource-name>
|
||||
<url-pattern>/decision/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
<!--we take default name for everyone role.If it is changed in user-mgt.xml,this needs to be changed as well.-->
|
||||
<!--<auth-constraint>
|
||||
<role-name>Internal/everyone</role-name>
|
||||
</auth-constraint>-->
|
||||
<user-data-constraint>
|
||||
<!-- transport-guarantee can be CONFIDENTIAL, INTEGRAL, or NONE -->
|
||||
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
|
||||
</user-data-constraint>
|
||||
</security-constraint>
|
||||
|
||||
<listener>
|
||||
<listener-class>org.wso2.carbon.identity.entitlement.endpoint.impl.ApplicationInitializer</listener-class>
|
||||
</listener>
|
||||
|
||||
<!--login-config>
|
||||
<auth-method>BASIC</auth-method>
|
||||
</login-config>
|
||||
<context-param>
|
||||
<param-name>carbon.enable.saas</param-name>
|
||||
<param-value>*</param-value>
|
||||
</context-param-->
|
||||
|
||||
</web-app>
|
||||
|
@ -1,280 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!--
|
||||
~ Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
||||
"http://java.sun.com/dtd/web-app_2_3.dtd" >
|
||||
|
||||
<web-app>
|
||||
<!-- Custom Page configurations -->
|
||||
<!-- *************** Application specific configurations ********************** -->
|
||||
<!--context-param>
|
||||
<param-name>ServiceProviderApp-/samlsso_login.do</param-name>
|
||||
<param-value>http://localhost:8080/customauthenticationendpoint/login.do</param-value>
|
||||
</context-param-->
|
||||
<!--context-param>
|
||||
<param-name>ServiceProviderApp-/oauth2_authz.do</param-name>
|
||||
<param-value>http://localhost:8080/authenticationendpoint/oauth2_authz.do</param-value>
|
||||
</context-param-->
|
||||
<!--context-param>
|
||||
<param-name>ServiceProviderApp-/oauth2_error.do</param-name>
|
||||
<param-value>http://localhost:8080/authenticationendpoint/oauth2_error.do</param-value>
|
||||
</context-param-->
|
||||
<!--context-param>
|
||||
<param-name>ServiceProviderApp-/oauth2_consent.do</param-name>
|
||||
<param-value>http://localhost:8080/authenticationendpoint/oauth2_consent.do</param-value>
|
||||
</context-param-->
|
||||
<!-- **************** End of Application specific configurations ************************* -->
|
||||
|
||||
<!-- *************** Global configurations ********************** -->
|
||||
<!--context-param>
|
||||
<param-name>/retry.do</param-name>
|
||||
<param-value>http://localhost:8080/customauthenticationendpoint/retry.do?type=retry.do</param-value>
|
||||
</context-param-->
|
||||
<!-- *************** End of Global configurations ********************** -->
|
||||
|
||||
<!-- *************** Account Recovery Endpoint Context URL Configuration ********************** -->
|
||||
<!--context-param>
|
||||
<param-name>IdentityManagementEndpointContextURL</param-name>
|
||||
<param-value>https://localhost:9443/accountrecoveryendpoint</param-value>
|
||||
</context-param-->
|
||||
<context-param>
|
||||
<param-name>AccountRecoveryRESTEndpointURL</param-name>
|
||||
<param-value>https://localhost:9443/t/tenant-domain/api/identity/user/v0.9/</param-value>
|
||||
</context-param>
|
||||
<!-- *************** End of Account Recovery Endpoint Context URL Configuration ********************** -->
|
||||
|
||||
<!--Display scopes in the consent page.-->
|
||||
<context-param>
|
||||
<param-name>displayScopes</param-name>
|
||||
<param-value>true</param-value>
|
||||
</context-param>
|
||||
|
||||
<filter>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>hstsEnabled</param-name>
|
||||
<param-value>false</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter>
|
||||
<filter-name>AuthenticationEndpointFilter</filter-name>
|
||||
<filter-class>
|
||||
org.wso2.carbon.identity.application.authentication.endpoint.util.filter.AuthenticationEndpointFilter
|
||||
</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>AuthenticationEndpointFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<listener>
|
||||
<listener-class>
|
||||
org.wso2.carbon.identity.application.authentication.endpoint.util.listener.AuthenticationEndpointContextListener
|
||||
</listener-class>
|
||||
</listener>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>retry.do</servlet-name>
|
||||
<jsp-file>/retry.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>claims.do</servlet-name>
|
||||
<jsp-file>/requested-claims.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>oauth2_login.do</servlet-name>
|
||||
<jsp-file>/login.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>oauth2_authz.do</servlet-name>
|
||||
<jsp-file>/oauth2_authz.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>oauth2_consent.do</servlet-name>
|
||||
<jsp-file>/oauth2_consent.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>oauth2_logout_consent.do</servlet-name>
|
||||
<jsp-file>/oauth2_logout_consent.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>oauth2_logout.do</servlet-name>
|
||||
<jsp-file>/logout.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>oauth2_error.do</servlet-name>
|
||||
<jsp-file>/oauth2_error.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>samlsso_login.do</servlet-name>
|
||||
<jsp-file>/login.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>samlsso_logout.do</servlet-name>
|
||||
<jsp-file>/logout.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>samlsso_redirect.do</servlet-name>
|
||||
<jsp-file>/login.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>samlsso_notification.do</servlet-name>
|
||||
<jsp-file>/samlsso_notification.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>openid_login.do</servlet-name>
|
||||
<jsp-file>/login.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>openid_profile.do</servlet-name>
|
||||
<jsp-file>/openid_profile.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>passivests_login.do</servlet-name>
|
||||
<jsp-file>/login.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>tenantlistrefresher.do</servlet-name>
|
||||
<jsp-file>/tenant_refresh_endpoint.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>registration.do</servlet-name>
|
||||
<jsp-file>/registration.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>retry.do</servlet-name>
|
||||
<url-pattern>/retry.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauth2_login.do</servlet-name>
|
||||
<url-pattern>/oauth2_login.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauth2_authz.do</servlet-name>
|
||||
<url-pattern>/oauth2_authz.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauth2_consent.do</servlet-name>
|
||||
<url-pattern>/oauth2_consent.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauth2_logout_consent.do</servlet-name>
|
||||
<url-pattern>/oauth2_logout_consent.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauth2_logout.do</servlet-name>
|
||||
<url-pattern>/oauth2_logout.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauth2_error.do</servlet-name>
|
||||
<url-pattern>/oauth2_error.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>samlsso_login.do</servlet-name>
|
||||
<url-pattern>/samlsso_login.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>samlsso_logout.do</servlet-name>
|
||||
<url-pattern>/samlsso_logout.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>samlsso_redirect.do</servlet-name>
|
||||
<url-pattern>/samlsso_redirect.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>samlsso_notification.do</servlet-name>
|
||||
<url-pattern>/samlsso_notification.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>openid_login.do</servlet-name>
|
||||
<url-pattern>/openid_login.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>openid_profile.do</servlet-name>
|
||||
<url-pattern>/openid_profile.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>passivests_login.do</servlet-name>
|
||||
<url-pattern>/passivests_login.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>tenantlistrefresher.do</servlet-name>
|
||||
<url-pattern>/tenantlistrefresher.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>registration.do</servlet-name>
|
||||
<url-pattern>/registration.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>claims.do</servlet-name>
|
||||
<url-pattern>/claims.do</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Throwable</exception-type>
|
||||
<location>/generic-exception-response.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<session-config>
|
||||
<cookie-config>
|
||||
<secure>true</secure>
|
||||
</cookie-config>
|
||||
</session-config>
|
||||
|
||||
</web-app>
|
@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ /*
|
||||
~ * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~ *
|
||||
~ * WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ * Version 2.0 (the "License"); you may not use this file except
|
||||
~ * in compliance with the License.
|
||||
~ * You may obtain a copy of the License at
|
||||
~ *
|
||||
~ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
~ *
|
||||
~ * Unless required by applicable law or agreed to in writing,
|
||||
~ * software distributed under the License is distributed on an
|
||||
~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ * KIND, either express or implied. See the License for the
|
||||
~ * specific language governing permissions and limitations
|
||||
~ * under the License.
|
||||
~ */
|
||||
-->
|
||||
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
|
||||
version="2.4">
|
||||
|
||||
<description>JAX-WS/JAX-RS Device Registration Agent Endpoint</description>
|
||||
<display-name>JAX-WS/JAX-RS Servlet</display-name>
|
||||
<context-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>WEB-INF/beans.xml</param-value>
|
||||
</context-param>
|
||||
<listener>
|
||||
<listener-class>
|
||||
org.springframework.web.context.ContextLoaderListener
|
||||
</listener-class>
|
||||
</listener>
|
||||
<servlet>
|
||||
<description>JAX-WS/JAX-RS Device Registration Agent Endpoint</description>
|
||||
<display-name>JAX-WS/JAX-RS Servlet</display-name>
|
||||
<servlet-name>CXFServlet</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.cxf.transport.servlet.CXFServlet
|
||||
</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>CXFServlet</servlet-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<filter>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>hstsEnabled</param-name>
|
||||
<param-value>false</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<filter-class>org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>patterns</param-name>
|
||||
<param-value>text/html" ,application/json" ,text/plain</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>filterAction</param-name>
|
||||
<param-value>enforce</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>httpHeaders</param-name>
|
||||
<param-value>Cache-Control: no-store, no-cache, must-revalidate, private</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
</web-app>
|
@ -1,100 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright 2011 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
|
||||
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
|
||||
|
||||
<display-name>OAuth2 Endpoints</display-name>
|
||||
|
||||
<filter>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>hstsEnabled</param-name>
|
||||
<param-value>false</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<filter-class>org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>patterns</param-name>
|
||||
<param-value>text/html" ,application/json" ,text/plain</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>filterAction</param-name>
|
||||
<param-value>enforce</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>httpHeaders</param-name>
|
||||
<param-value>Cache-Control: no-store, no-cache, must-revalidate, private</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>OAuth2Endpoints</servlet-name>
|
||||
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
|
||||
<!-- Application based page loading configs -->
|
||||
|
||||
<!-- *********** Pages for the SampleApp *************** -->
|
||||
<!--init-param>
|
||||
<description>Login page for the application SampleApp</description>
|
||||
<param-name>SampleApp-LoginPage</param-name>
|
||||
<param-value>https://localhost:9443/mypages/sampleapp-login</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<description>Error page for the application SampleApp</description>
|
||||
<param-name>SampleApp-ErrorPage</param-name>
|
||||
<param-value>https://localhost:9443/mypages/sampleapp-error</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<description>Consent page for the application SampleApp</description>
|
||||
<param-name>SampleApp-ConsentPage</param-name>
|
||||
<param-value>https://localhost:9443/mypages/sampleapp-consent</param-value>
|
||||
</init-param-->
|
||||
<!-- ******************* End of SampleApp configs ***************** -->
|
||||
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>OAuth2Endpoints</servlet-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<session-config>
|
||||
<cookie-config>
|
||||
<secure>true</secure>
|
||||
</cookie-config>
|
||||
</session-config>
|
||||
|
||||
</web-app>
|
@ -1,423 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
|
||||
id="Shindig"
|
||||
version="2.5">
|
||||
<display-name>Shindig</display-name>
|
||||
<!-- configuration -->
|
||||
<!-- If you have your own Guice module(s), put them here as a colon-separated list. -->
|
||||
<!-- Note that any extras modules are optional -->
|
||||
<context-param>
|
||||
<param-name>guice-modules</param-name>
|
||||
<param-value>
|
||||
org.apache.shindig.common.PropertiesModule:
|
||||
org.apache.shindig.gadgets.DefaultGuiceModule:
|
||||
org.apache.shindig.social.core.config.SocialApiGuiceModule:
|
||||
org.apache.shindig.social.sample.SampleModule:
|
||||
org.apache.shindig.gadgets.oauth.OAuthModule:
|
||||
org.apache.shindig.gadgets.oauth2.OAuth2Module:
|
||||
org.apache.shindig.gadgets.oauth2.OAuth2MessageModule:
|
||||
org.apache.shindig.gadgets.oauth2.handler.OAuth2HandlerModule:
|
||||
org.apache.shindig.gadgets.oauth2.persistence.sample.OAuth2PersistenceModule:
|
||||
org.apache.shindig.common.cache.ehcache.EhCacheModule:
|
||||
org.apache.shindig.sample.shiro.ShiroGuiceModule:
|
||||
org.apache.shindig.sample.container.SampleContainerGuiceModule:
|
||||
org.apache.shindig.extras.ShindigExtrasGuiceModule:
|
||||
org.apache.shindig.gadgets.admin.GadgetAdminModule:
|
||||
org.wso2.carbon.dashboard.shindig.features.WSO2ShindigFeaturesModule
|
||||
</param-value>
|
||||
</context-param>
|
||||
|
||||
<!--
|
||||
Syntax: <key>=<value> separated by a newline
|
||||
|
||||
system.properties specifies the environmental variables that will be set to the JVM System Properties at server startup time.
|
||||
Alternatively, you may add these values in your app server (ex: Tomcat) as
|
||||
VM arguments like this: -Dshindig.host="my.production.shindig.server.com".
|
||||
|
||||
Here are a few properties that can be set for Shindig:
|
||||
shindig.host: the server name that Shindig is deployed and running on
|
||||
shindig.port: the port number of shindig.host server
|
||||
|
||||
Make sure you escape all HTML values for the web.xml to be parsed correctly.
|
||||
-->
|
||||
<context-param>
|
||||
<param-name>system.properties</param-name>
|
||||
<param-value>
|
||||
<![CDATA[
|
||||
shindig.host=
|
||||
shindig.port=
|
||||
aKey=/shindig/gadgets/proxy?container=default&url=
|
||||
]]>
|
||||
</param-value>
|
||||
</context-param>
|
||||
|
||||
<filter>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>hstsEnabled</param-name>
|
||||
<param-value>false</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>antiClickJackingOption</param-name>
|
||||
<param-value>SAMEORIGIN</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
|
||||
<filter>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<filter-class>org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>patterns</param-name>
|
||||
<param-value>text/html" ,application/json" ,text/plain</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>filterAction</param-name>
|
||||
<param-value>enforce</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>httpHeaders</param-name>
|
||||
<param-value>Cache-Control: no-store, no-cache, must-revalidate, private</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ContentTypeBasedCachePreventionFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter>
|
||||
<filter-name>hostFilter</filter-name>
|
||||
<filter-class>org.apache.shindig.common.servlet.HostFilter</filter-class>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>hostFilter</filter-name>
|
||||
<url-pattern>/gadgets/ifr</url-pattern>
|
||||
<url-pattern>/gadgets/js/*</url-pattern>
|
||||
<url-pattern>/gadgets/proxy/*</url-pattern>
|
||||
<url-pattern>/gadgets/concat</url-pattern>
|
||||
<url-pattern>/gadgets/makeRequest</url-pattern>
|
||||
<url-pattern>/rpc/*</url-pattern>
|
||||
<url-pattern>/rest/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>config</param-name>
|
||||
<param-value>
|
||||
<![CDATA[
|
||||
# The ShiroFilter configuration is very powerful and flexible, while still remaining succinct.
|
||||
# Please read the comprehensive example, with full comments and explanations, in the JavaDoc:
|
||||
#
|
||||
# http://www.jsecurity.org/api/org/jsecurity/web/servlet/JSecurityFilter.html
|
||||
[main]
|
||||
shindigSampleRealm = org.apache.shindig.sample.shiro.SampleShiroRealm
|
||||
securityManager.realm = $shindigSampleRealm
|
||||
authc.loginUrl = /login.jsp
|
||||
|
||||
[urls]
|
||||
# The /login.jsp is not restricted to authenticated users (otherwise no one could log in!), but
|
||||
# the 'authc' filter must still be specified for it so it can process that url's
|
||||
# login submissions. It is 'smart' enough to allow those requests through as specified by the
|
||||
# shiro.loginUrl above.
|
||||
/login.jsp = authc
|
||||
|
||||
/oauth/authorize/** = authc
|
||||
/oauth2/authorize/** = authc
|
||||
]]>
|
||||
</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>authFilter</filter-name>
|
||||
<filter-class>org.apache.shindig.auth.AuthenticationServletFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>etagFilter</filter-name>
|
||||
<filter-class>org.apache.shindig.gadgets.servlet.ETagFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<url-pattern>/oauth/authorize</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<url-pattern>/oauth2/authorize</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<url-pattern>*.jsp</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>authFilter</filter-name>
|
||||
<url-pattern>/social/*</url-pattern>
|
||||
<url-pattern>/gadgets/ifr</url-pattern>
|
||||
<url-pattern>/gadgets/makeRequest</url-pattern>
|
||||
<url-pattern>/gadgets/proxy</url-pattern>
|
||||
<url-pattern>/gadgets/api/rpc/*</url-pattern>
|
||||
<url-pattern>/gadgets/api/rest/*</url-pattern>
|
||||
<url-pattern>/rpc/*</url-pattern>
|
||||
<url-pattern>/rest/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>etagFilter</filter-name>
|
||||
<url-pattern>*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<listener>
|
||||
<listener-class>org.apache.shindig.common.servlet.GuiceServletContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- Render a Gadget -->
|
||||
<servlet>
|
||||
<servlet-name>xml-to-html</servlet-name>
|
||||
<servlet-class>
|
||||
org.wso2.carbon.dashboard.shindig.extensions.WSO2GadgetRenderingServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>accel</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.HtmlAccelServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- Proxy -->
|
||||
<servlet>
|
||||
<servlet-name>proxy</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.ProxyServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- makeRequest -->
|
||||
<servlet>
|
||||
<servlet-name>makeRequest</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.MakeRequestServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- Concat -->
|
||||
<servlet>
|
||||
<servlet-name>concat</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.ConcatProxyServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- OAuth callback -->
|
||||
<servlet>
|
||||
<servlet-name>oauthCallback</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.OAuthCallbackServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- OAuth2 callback -->
|
||||
<servlet>
|
||||
<servlet-name>oauth2callback</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.OAuth2CallbackServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- Metadata RPC -->
|
||||
<servlet>
|
||||
<servlet-name>metadata</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.RpcServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- javascript serving -->
|
||||
<servlet>
|
||||
<servlet-name>js</servlet-name>
|
||||
<servlet-class>org.apache.shindig.gadgets.servlet.JsServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>restapiServlet</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.protocol.DataServiceServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>handlers</param-name>
|
||||
<param-value>org.apache.shindig.handlers</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- Serve social RPC api -->
|
||||
<servlet>
|
||||
<servlet-name>jsonRpcServlet</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.protocol.JsonRpcServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>handlers</param-name>
|
||||
<param-value>org.apache.shindig.handlers</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- Serve sample OAuth apis -->
|
||||
<servlet>
|
||||
<servlet-name>sampleOAuth</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.social.sample.oauth.SampleOAuthServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- Serve OAuth 2 APIs -->
|
||||
<servlet>
|
||||
<servlet-name>OAuth2Servlet</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.social.core.oauth2.OAuth2Servlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>rpcSwf</servlet-name>
|
||||
<servlet-class>
|
||||
org.apache.shindig.gadgets.servlet.RpcSwfServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>js</servlet-name>
|
||||
<url-pattern>/gadgets/js/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>proxy</servlet-name>
|
||||
<url-pattern>/gadgets/proxy/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>makeRequest</servlet-name>
|
||||
<url-pattern>/gadgets/makeRequest</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>jsonRpcServlet</servlet-name>
|
||||
<url-pattern>/rpc/*</url-pattern>
|
||||
<url-pattern>/gadgets/api/rpc/*</url-pattern>
|
||||
<url-pattern>/social/rpc/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>restapiServlet</servlet-name>
|
||||
<url-pattern>/rest/*</url-pattern>
|
||||
<url-pattern>/gadgets/api/rest/*</url-pattern>
|
||||
<url-pattern>/social/rest/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>concat</servlet-name>
|
||||
<url-pattern>/gadgets/concat</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauthCallback</servlet-name>
|
||||
<url-pattern>/gadgets/oauthcallback</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>oauth2callback</servlet-name>
|
||||
<url-pattern>/gadgets/oauth2callback</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>xml-to-html</servlet-name>
|
||||
<url-pattern>/gadgets/ifr</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>accel</servlet-name>
|
||||
<url-pattern>/gadgets/accel</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>metadata</servlet-name>
|
||||
<url-pattern>/gadgets/metadata</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>sampleOAuth</servlet-name>
|
||||
<url-pattern>/oauth/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>OAuth2Servlet</servlet-name>
|
||||
<url-pattern>/oauth2/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>rpcSwf</servlet-name>
|
||||
<url-pattern>/xpc*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<error-page>
|
||||
<error-code>404</error-code>
|
||||
<location>/error-pages/error404.html</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<error-code>401</error-code>
|
||||
<location>/error-pages/error401.html</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<error-code>403</error-code>
|
||||
<location>/error-pages/error403.html</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<error-code>405</error-code>
|
||||
<location>/error-pages/error405.html</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<error-code>500</error-code>
|
||||
<location>/error-pages/error500.html</location>
|
||||
</error-page>
|
||||
</web-app>
|
@ -0,0 +1,40 @@
|
||||
+@echo off
|
||||
+REM Copyright 2005-2009 WSO2, Inc. (http://wso2.com)
|
||||
+REM Licensed to the Apache Software Foundation (ASF) under one
|
||||
+REM or more contributor license agreements. See the NOTICE file
|
||||
+REM distributed with this work for additional information
|
||||
+REM regarding copyright ownership. The ASF licenses this file
|
||||
+REM to you under the Apache License, Version 2.0 (the
|
||||
+REM "License"); you may not use this file except in compliance
|
||||
+REM with the License. You may obtain a copy of the License at
|
||||
+REM
|
||||
+REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
+REM
|
||||
+REM Unless required by applicable law or agreed to in writing,
|
||||
+REM software distributed under the License is distributed on an
|
||||
+REM # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
+REM KIND, either express or implied. See the License for the
|
||||
+REM specific language governing permissions and limitations
|
||||
+REM under the License.
|
||||
+
|
||||
+rem ---------------------------------------------------------------------------
|
||||
+rem Startup script for the ciphertool
|
||||
+rem
|
||||
+rem Environment Variable Prerequisites
|
||||
+rem
|
||||
+rem CARBON_HOME Must point at your CARBON directory
|
||||
+rem
|
||||
+rem JAVA_HOME Must point at your Java Development Kit installation.
|
||||
+rem
|
||||
+rem JAVA_OPTS (Optional) Java runtime options
|
||||
+rem ---------------------------------------------------------------------------
|
||||
+
|
||||
+:checkServer
|
||||
+setlocal enabledelayedexpansion
|
||||
+rem %~sdp0 is expanded pathname of the current script under NT with spaces in the path removed
|
||||
+if "%CARBON_HOME%"=="" set CARBON_HOME=%~sdp0..
|
||||
+SET curDrive=%cd:~0,1%
|
||||
+SET wsasDrive=%CARBON_HOME:~0,1%
|
||||
+if not "%curDrive%" == "%wsasDrive%" %wsasDrive%:
|
||||
+cd %CARBON_HOME%
|
||||
+call %CARBON_HOME%\wso2\tools\identity-anonymization-tool\bin\forget-me.bat
|
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
# forget-me.sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Copyright 2018 WSO2, Inc. http://www.wso2.org
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# resolve links - $0 may be a softlink
|
||||
PRG="$0"
|
||||
|
||||
while [ -h "$PRG" ]; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '.*/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`/"$link"
|
||||
fi
|
||||
done
|
||||
|
||||
# Get standard environment variables
|
||||
PRGDIR=`dirname "$PRG"`
|
||||
|
||||
[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd`
|
||||
|
||||
cd $CARBON_HOME
|
||||
sh $CARBON_HOME/wso2/tools/identity-anonymization-tool/bin/forget-me -d $CARBON_HOME/wso2/tools/identity-anonymization-tool/conf $@
|