3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell<%--
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ The contents of this file are subject to the terms of the Common Development and
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ Distribution License (the License). You may not use this file except in compliance with the
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ License.
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ specific language governing permission and limitations under the License.
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ When distributing Covered Software, include this CDDL Header Notice in each file and include
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ Header, with the fields enclosed by brackets [] replaced by your own identifying
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~ information: "Portions copyright [year] [name of copyright owner]".
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ~
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts ~ Copyright 2014-2015 ForgeRock AS.
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell--%>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell<%@page info="ConfigureSocialAuthN" contentType="text/html;charset=UTF-8" language="java" %>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell<%@page import="org.owasp.esapi.ESAPI" %>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell<%@taglib uri="/WEB-INF/jato.tld" prefix="jato" %>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell<%@taglib uri="/WEB-INF/cc.tld" prefix="cc" %>
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts<%@taglib tagdir="/WEB-INF/tags" prefix="console"%>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell<%
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell request.setCharacterEncoding("UTF-8");
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell%>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell<jato:useViewBean
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell className="com.sun.identity.console.task.ConfigureSocialAuthNViewBean"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell fireChildDisplayEvents="true" >
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <cc:i18nbundle baseName="amConsole" id="amConsole"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell locale="<%=((com.sun.identity.console.base.AMViewBeanBase)viewBean).getUserLocale()%>"/>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <cc:header name="hdrCommon" pageTitle="webconsole.title" bundleID="amConsole" copyrightYear="2014" fireDisplayEvents="true">
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <link rel="stylesheet" type="text/css" href="../console/css/openam.css" />
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <script language="javascript" src="../console/js/am.js"></script>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <script language="javascript" src="../com_sun_web_ui/js/dynamic.js"></script>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <div id="main" style="position: absolute; margin: 0; border: none; padding: 0; width: 100%; height: 101%;">
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <cc:form name="ConfigureSocialAuthN" method="post" defaultCommandChild="/btnSearch">
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <jato:hidden name="szCache" />
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <%-- HEADER --%>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <script language="javascript">
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell function confirmLogout() {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell return confirm("<cc:text name="txtLogout" defaultValue="masthead.logoutMessage" bundleID="amConsole"/>");
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </script>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <cc:primarymasthead name="mhCommon" bundleID="amConsole" logoutOnClick="return confirmLogout();"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell locale="<%=((com.sun.identity.console.base.AMViewBeanBase)viewBean).getUserLocale()%>"/>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <table border="0" cellpadding="10" cellspacing="0" width="100%">
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <tr>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <td>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <cc:alertinline name="ialertCommon" bundleID="amConsole" />
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </td>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </tr>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </table>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <%-- PAGE CONTENT --%>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <cc:pagetitle name="pgtitle"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell bundleID="amConsole"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell pageTitleText="page.title.configure.social.authentication"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell showPageTitleSeparator="false"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell viewMenuLabel=""
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell pageTitleHelpMessage="page.desc.configure.social.authentication"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell showPageButtonsTop="true"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell showPageButtonsBottom="false" >
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <cc:propertysheet
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell name="propertyAttributes"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell bundleID="amConsole"
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell showJumpLinks="false" />
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </cc:pagetitle>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </cc:form>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </div>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <div id="dlg" class="dvs"></div>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <script type="text/javascript">
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <!--
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var ajaxObj = getXmlHttpRequestObject();
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var userLocale = "<%= viewBean.getUserLocale().toString() %>";
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var msgConfiguring = "<p><img src=\"../console/images/processing.gif\" width=\"66\" height\"66\"/></p><cc:text name="txtConfiguring" defaultValue="social.configuration.waiting" bundleID="amConsole" escape="false" />";
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts var msgConfigured = "<p>&nbsp;</p><input name=\"btnOK\" type=\"submit\" class=\"Btn1\" value=\"<cc:text name="txtOKBtn" defaultValue="ajax.ok.button" bundleID="amConsole" />\" onClick=\"redirectToXui();return false;\" /></div></p>";
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var closeBtn = "<p>&nbsp;</p><p><div class=\"TtlBtnDiv\"><input name=\"btnClose\" type=\"submit\" class=\"Btn1\" value=\"<cc:text name="txtCloseBtn" defaultValue="ajax.close.button" bundleID="amConsole" />\" onClick=\"focusMain();return false;\" /></div></p>";
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var frm = document.forms['ConfigureSocialAuthN'];
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var btn1 = frm.elements['ConfigureSocialAuthN.button1'];
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell btn1.onclick = submitPage;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var btn2 = frm.elements['ConfigureSocialAuthN.button2'];
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell btn2.onclick = cancelOp;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <%
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell String type = request.getParameter("type");
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell if (!ESAPI.validator().isValidInput("Social AuthN Type", type, "HTTPParameterValue", 2000, true)) {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell type = null;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell if (type != null) {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell out.println("var type = \"" + ESAPI.encoder().encodeForHTML(type) + "\";");
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell } else {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell out.println("var type = null;");
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell %>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell function submitPage() {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell fade();
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell document.getElementById('dlg').innerHTML = '<center>' + msgConfiguring + '</center>';
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var url = "../console/ajax/AjaxProxy.jsp";
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var params = 'locale=' + userLocale + '&class=com.sun.identity.workflow.ConfigureSocialAuthN' + getData();
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell ajaxPost(ajaxObj, url, params, configured);
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell return false;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell function cancelOp() {
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts redirectToXui();
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell return false;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell function getData() {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var realm = frm.elements['ConfigureSocialAuthN.tfRealm'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var clientId = frm.elements['ConfigureSocialAuthN.tfClientId'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var clientSecret = frm.elements['ConfigureSocialAuthN.tfClientSecret'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var clientSecretConfirm = frm.elements['ConfigureSocialAuthN.tfConfirmSecret'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var redirectUrl = frm.elements['ConfigureSocialAuthN.tfRedirectUrl'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var params = "&realm=" + escapeEx(realm)
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell + "&type=" + escapeEx(type)
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell + "&clientId=" + escapeEx(clientId)
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell + "&clientSecret=" + escapeEx(clientSecret)
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell + "&clientSecretConfirm=" + escapeEx(clientSecretConfirm)
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell + "&redirectUrl=" + escapeEx(redirectUrl);
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell if (frm.elements['ConfigureSocialAuthN.tfDiscoveryUrl']) {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var discoveryUrl = frm.elements['ConfigureSocialAuthN.tfDiscoveryUrl'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var imageUrl = frm.elements['ConfigureSocialAuthN.tfImageUrl'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var providerName = frm.elements['ConfigureSocialAuthN.tfProviderName'].value;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell params += "&discoveryUrl=" + escapeEx(discoveryUrl)
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell + "&imageUrl=" + escapeEx(imageUrl)
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell + "&providerName=" + escapeEx(providerName);
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell return params;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell function configured() {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell if (ajaxObj.readyState == 4) {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var result = hexToString(ajaxObj.responseText);
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var status = result.substring(0, result.indexOf('|'));
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var result = result.substring(result.indexOf('|') + 1);
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell var msg = '<center><p>' + result + '</p></center>';
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell if (status == 0) {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell msg = msg + '<center>' + msgConfigured + '</center>';
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell } else {
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell msg = msg + '<center>' + closeBtn + '</center>';
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell document.getElementById('dlg').innerHTML = msg;
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell }
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell -->
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </script>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell <%-- END CONTENT --%>
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts <console:redirectToXui realm="encodeURIComponent(frm.elements['ConfigureSocialAuthN.tfRealm'].value)"
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts xuiPath="../XUI#realms/{realm}/dashboard"/>
4c2ed873ce0d69780e28220e175a838a6829d4eaJames Phillpotts
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell </cc:header>
3fc1b5e9b2ff286cd528a06154cc998198de1e70Craig McDonnell</jato:useViewBean>