Permalink
Switch branches/tags
2.4.4_logout 314 Create_new_JWK_for_use_enc_for_Client_and_Server_tests Fix_the_list_of_scopes_in_the_authorization_page Form-Post-Response-Mode IDP-IFrame-based_Implicit_Flow Improve_oxAuth_authz_checking_mechanism Invalid_scopes_field_in_Dynamic_Client_Registration_request_and_response OAuth2_Device_Flow Restrict_requesting_claims_individually SoftHSM Update_Dynamic_Registration_Management arvind_update_script auth_expired_id_token authorize_page_design client_side_jwks cusomization_to_oxCore customization_with_configuration_populator deprecated_localization evolveip expired_id_token external_config_fluentd external_faces_config facesContext_addMessage feature/876-accept-type fix_CryptoJS_link issue_378 issue_423 issue_500 issue_501 issue_504 issue_537 issue_575 issue_578 issue_590 issue_603 issue_612 issue_658 localization_weld localization master merge_client_side_jwks multivalued_oxAuthTokenCode nickname_u2f oic_certification_tests oxAuth/issues/391 oxAuth/issues/807 oxAuth/issues/814 oxAuth/issues/827 oxAuth/issues/834 oxAuth/issues/864 oxAuth/issues/875 oxAuth/issues/885 oxAuth/issues/887 oxAuth/issues/892 oxAuth/issues/897 oxAuth/issues/912 oxAuth/issues/932 oxAuth/issues/938 oxAuth/issues/939 oxAuth/issues/941 oxAuth/issues/959 oxAuth#647 oxCore#44 oxTrust/issues/767 oxTrust/issues/870 passport_issue13 persist_authorizations reffactor_329 registration_metadata sahiliamsso-patch-1 sahiliamsso-patch-2 sahiliamsso-patch-3 sahiliamsso-patch-4 sahiliamsso-patch-5 scopes_test session_state subject_type_metadata_rejected_during_OIDC_Dynamic_Registration_client_update_flow super_gluu_aws test_build1 twilio_debug ui_locale_selector use_ox_filter username_remember_me_feature_in_login_page varsion_3.1.1-username_remember_me_feature_in_login_page version_2.3 version_2.4 version_2.4.1 version_2.4.2 version_2.4.3 version_2.4.3.1 version_2.4.4_sp1 version_2.4.4_sp1.1 version_2.4.4_sp2_openldap version_2.4.4_sp2_openldap2 version_2.4.4_sp3 version_2.4.4_sp4_extended_saml version_2.4.4 version_3.0.0 version_3.0.1 version_3.0.2_rs3 version_3.1.0 version_3.1.1-Improve_JwtClaims_setClaim version_3.1.1-enable_client_to_restrict_javascript_origin version_3.1.1-multi_valued_claim_fix version_3.1.1-username_remember_me_feature_in_login_page version_3.1.1 version_3.1.2.sp1 version_3.1.2.sp2 version_3.1.2 version_3.1.2.1 version_3.1.3-enable_admin_to_turn_off_authz_for_openid_scope version_3.1.3-enable_client_to_restrict_javascript_origin version_3.1.3.test1 version_3.1.3 version_3.1.4_without_rewrite version_3.1.4 version_3.1.4.1 version_3.1.5 weld without_pages_xml without_s_tags yuriyz_plugin_experiment_v3.1.5
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
347 lines (312 sloc) 12.6 KB
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
template="/WEB-INF/incl/layout/login-template.xhtml">
<f:metadata>
<f:viewAction action="#{authenticator.prepareAuthenticationForStep}"
if="#{not identity.loggedIn}" />
</f:metadata>
<ui:define name="head">
<link rel="stylesheet"
href="#{oxAuthConfigurationService.cssLocation}/jquery-ui-1.12.1.min.css" />
<script
src="#{oxAuthConfigurationService.jsLocation}/jquery-1.12.4.min.js" />
<script
src="#{oxAuthConfigurationService.jsLocation}/jquery.qrcode-0.12.0.min.js" />
<script
src="#{oxAuthConfigurationService.jsLocation}/jquery-ui-1.12.1.min.js" />
<script src="../../js/gluu-auth.js" />
<link
href="#{oxAuthConfigurationService.cssLocation}/bootstrap.min.css"
rel="stylesheet" />
<link rel="stylesheet"
href="#{oxAuthConfigurationService.cssLocation}/style.css" />
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600"
rel="stylesheet" />
<script>
var helper = (function() {
var authResult = undefined;
return {
/**
* Resume on getting authentication result from server
*/
onSignInCallback: function(authResult) {
console.log('Get authentication result: ' + authResult);
helper.resumeAuthentication(authResult);
},
/**
* Send form to server to resume authentication workflow
*/
resumeAuthentication: function(authResult) {
$('input#auth_result').val(authResult);
$('form#response').submit();
},
};
})();
/**
* Calls the helper method that handles the authentication flow.
*/
function onSignInCallback(authResult) {
helper.onSignInCallback(authResult);
}
var request = '${identity.getWorkingParameter('super_gluu_request')}';
var label = '${identity.getWorkingParameter('super_gluu_label')}';
var qr_options = ${identity.getWorkingParameter('super_gluu_qr_options')};
var authmethod = '${identity.getWorkingParameter('super_gluu_auth_method')}';
$(document).ready(function() {
if (authmethod == "enroll") {
document.getElementById("login").style.display = "none";
document.getElementById("subsequent").style.display = "none";
document.getElementById("enroll").style.display = "";
gluu_auth.renderQrCode('#enrollcontainer', request, qr_options, label);
gluu_auth.startProgressBar('#enrollprogressbar', 60, onSignInCallback);
} else if (authmethod == "login"){
document.getElementById("login").style.display = "";
document.getElementById("subsequent").style.display = "none";
document.getElementById("enroll").style.display = "none";
gluu_auth.renderQrCode('#container', request, qr_options, label);
gluu_auth.startProgressBar('#progressbar', 60, onSignInCallback);
}else{
document.getElementById("login").style.display = "none";
document.getElementById("subsequent").style.display = "";
document.getElementById("enroll").style.display = "none";
gluu_auth.renderQrCode('#susequentcontainer', request, qr_options, label);
gluu_auth.startProgressBar('#susequentprogressbar', 60, onSignInCallback);
}
gluu_auth.startSessionChecker(onSignInCallback, 60);
if (request == '') {
onSignInCallback('error');
}
});
function showQrDialog() {
$( '#dialog').dialog({ width: 550 });
}
window.onload = function() {
if ('${identity.getWorkingParameter('show_qr_by_default')}' == 'true') {
showQrDialog();
}
};
</script>
<style type="text/css">
body {
width: 100%;
}
.body {
width: 100%;
}
.qr_bx {
max-width: 95%;
margin: 10px;
}
</style>
</ui:define>
<ui:define name="pageTitle">oxAuth - Super-Gluu Login</ui:define>
<ui:define name="body">
<div id="header" class="row-fluid">
<div class="logo span2">
<ui:param name="client"
value="#{clientService.getClient(identity.sessionId.sessionAttributes['client_id'])}" />
<h:panelGroup rendered='#{!empty client.getLogoUri()}'>
<h:graphicImage url='#{client.getLogoUri()}' />
</h:panelGroup>
<object data="../../ext/resources/img/logo.png" type="image/png">
<img src="#{oxAuthConfigurationService.getImgLocation()}/logo.png" />
</object>
</div>
</div>
<div class="bs-docs-section"
style="border-top: 2px solid #1ab26b !important;" />
<h:panelGroup id="login">
<form method="post" id="response"
action="#{request.contextPath}/postlogin.htm">
<input type="hidden" id="auth_result" name="auth_result" />
</form>
<table border="0" align="center">
<tr>
<td>
<div>
<h:form id="loginForm">
<h:panelGroup rendered="#{not identity.loggedIn}">
<div class="login-panel">
<div class="login-panel-header">
<h:outputText value="#{msgs['login.login']}" />
</div>
<div class="login-panel-body">
<ui:param name="client"
value="#{clientService.getClient(identity.sessionId.sessionAttributes['client_id'])}" />
<h:panelGroup rendered='#{!empty client.getLogoUri()}'>
<h:graphicImage url='#{client.getLogoUri()}' />
</h:panelGroup>
<div class="dialog">
<p>#{msgs['supergluu.scanQRCode']}</p>
<div id="container"></div>
<div id="progressbar"></div>
</div>
<div align="center">
<h:outputLink
value="#{identity.getWorkingParameter('supergluu_android_download_url')}"
title="Android"
rendered="#{!empty identity.getWorkingParameter('supergluu_android_download_url')}">
<h:graphicImage value="../../img/android.png" />
</h:outputLink>
<h:outputLink
value="#{identity.getWorkingParameter('supergluu_ios_download_url')}"
title="Android"
rendered="#{!empty identity.getWorkingParameter('supergluu_ios_download_url')}">
<h:graphicImage value="../../img/ios.png" />
</h:outputLink>
</div>
<h:panelGroup rendered='#{!empty client.getPolicyUri()}'>
<p>
<h:outputText value="#{msgs['common.agreePolicy']}" />
<a target="_blank" href='#{client.getPolicyUri()}'> <h:outputText
value="#{msgs['common.privacyPolicy']}" />
</a>
</p>
</h:panelGroup>
<div align="center">
<ui:repeat
value="#{identity.getWorkingParameter('download_url').entrySet().toArray()}"
var="_entry">
<ui:param name="app_name" value="#{_entry.key}" />
<ui:param name="app_link" value="#{_entry.value}" />
<h:outputLink value="#{app_link}" title="#{app_name}">
<h:graphicImage value="../../img/#{app_name}.png" />
</h:outputLink>
</ui:repeat>
</div>
<h:panelGroup rendered='#{!empty client.getTosUri()}'>
<p>
<h:outputText value="#{msgs['common.pleaseReadTheTos']}" />
<a target="_blank" href='#{client.getTosUri()}'> <h:outputText
value="#{msgs['common.termsOfService']}" />
</a>
</p>
</h:panelGroup>
</div>
</div>
</h:panelGroup>
</h:form>
</div>
</td>
</tr>
</table>
</h:panelGroup>
<h:panelGroup id="enroll" style="width:100%;">
<div id="enrollbody" style="width: 100%;">
<div class="container" style="width: 100%;">
<h2 style="font-size: 30px; font-weight: 500; text-align: center; color:black;">#{msgs['supergluu.enroll.enrollyourdevice']}</h2>
<br></br>
<p style="font-size: 20px; font-weight: 400; text-align: center; color:#1ab26b;">#{msgs['supergluu.enroll.scanqrcode']}</p>
<div class="qr_bx">
<div class="row">
<div class="col-md-6 col-sm-5">
<div id="enrollcontainer"></div>
<br></br>
<div id="enrollprogressbar"></div>
</div>
<div class="col-md-6 col-sm-7">
<div class="paddin_bx">
<h3>#{msgs['supergluu.enroll.downloadsupergluu']}</h3>
<div class="button">
<h:outputLink target="_blank"
value="https://play.google.com/store/apps/details?id=gluu.org.super.gluu"
class="android">
<h:graphicImage value="../../img/android1.png" alt="android" />
</h:outputLink>
<h:outputLink target="_blank"
value="https://itunes.apple.com/us/app/super-gluu/id1093479646?mt=8"
class="iphone">
<h:graphicImage value="../../img/iphone.png" alt="iphone" />
</h:outputLink>
</div>
<p>#{msgs['supergluu.enroll.supergluuisfreesecure']}</p>
<div class="links">
<a target="_blank"
href="#{msgs['supergluu.enroll.website.url']}"><h:outputText
value="#{msgs['supergluu.enroll.Website']}" /></a> <span
class="seprator">|</span> <a target="_blank"
href="#{msgs['supergluu.enroll.Docs.url']}"><h:outputText
value="#{msgs['supergluu.enroll.Docs']}" /></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</h:panelGroup>
<h:panelGroup id="subsequent">
<header class="bs-docs-nav navbar navbar-static-top" id="top">
<div class="container">
<div class="navbar-header">
<a target="_blank" class="navbar-brand"><img
src="#{oxAuthConfigurationService.getImgLocation()}/logo.png"
alt="logo" /></a>
</div>
</div>
</header>
<div class="bs-docs-section">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="mid-wrapper">
<span class="icon_01"> <img
src="#{oxAuthConfigurationService.getImgLocation()}/tube_1.jpg"
alt="" />
</span>
<p style="line-height: 30px;">
A Super Gluu push notification has been sent to your <br />
registered device. Approve the push to login.
</p>
</div>
<div class="button-wrap1">
<p>Didn't receive the push notification?</p>
<a onclick="showQrDialog();" style="cursor: pointer;"
target="_blank" class="sigin-a">Scan QR code instead</a> <span
class="contactadmin"> If you no longer control the
device you registered,<br /> <a href="#">contact your Gluu
server admin</a> to enroll a new device
</span>
</div>
</div>
</div>
</div>
</div>
</h:panelGroup>
<div id="dialog" style="display: none;" title="QR Code">
<div id="susequentcontainer"></div>
<div id="susequentprogressbar"></div>
</div>
<div class="footer-copyright text-center py-3"
style="background: #1ab26b; position: fixed; left: 0; bottom: 0; width: 100%; text-align: center;">
<div class="footer">
<div class="row">
<div class="col-md-12">
<div class="padding_spc"
style="padding-bottom: 5px; padding-top: 5px;">
<p>
<h:outputText value="#{msgs['common.gluuInc']}" />
| <a target="_blank"
href="https://github.com/GluuFederation/oxAuth/blob/master/LICENSE"><h:outputText
value="#{msgs['common.caution']}" escape="false" /></a>
<h:panelGroup rendered='#{!empty client.policyUri}'>
| <a target="_blank" href="#{client.policyUri}"><h:outputText
value="#{msgs['common.privacyPolicy']}" escape="false" /></a>
</h:panelGroup>
<h:panelGroup rendered='#{!empty client.tosUri}'>
| <a target="_blank" href="#{client.tosUri}"><h:outputText
value="#{msgs['common.termsOfService']}" escape="false" /></a>
</h:panelGroup>
</p>
</div>
</div>
</div>
</div>
</div>
</ui:define>
</ui:composition>