first commit
This commit is contained in:
12
plugins/simplesaml/lib/modules/core/templates/base.twig
Normal file
12
plugins/simplesaml/lib/modules/core/templates/base.twig
Normal file
@@ -0,0 +1,12 @@
|
||||
{% extends "base.twig" %}
|
||||
{% block contentwrapper %}
|
||||
|
||||
<div id="portalmenu" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
|
||||
|
||||
<div id="portalcontent" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
|
||||
|
||||
{{ block('content') }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@@ -0,0 +1,28 @@
|
||||
{% set pagetitle = 'Incorrect Attributes' | trans %}
|
||||
{% extends "base.twig" %}
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ pagetitle }}</h1>
|
||||
|
||||
<p>{{ 'One or more of the attributes supplied by your identity provider did not contain the expected number of values.'|trans }}</p>
|
||||
|
||||
<h3>{{ 'The problematic attribute(s) are:'|trans }}</h3>
|
||||
|
||||
<dl class="cardinalityErrorAttributes">
|
||||
{% for attr,issues in cardinalityErrorAttributes %}
|
||||
{% set got = issues[0] %}
|
||||
{% set want = issues[1] %}
|
||||
|
||||
<dt>{{ attr }}</dt>
|
||||
<dd>{% trans with {
|
||||
'%got%': got,
|
||||
'%want%': want
|
||||
} %}got %got% values, want %want%{% endtrans %}</dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
|
||||
{% if LogoutURL is defined %}
|
||||
<p><a href="{{ LogoutURL }}">{{ 'Logout'|trans }}</a></p>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
33
plugins/simplesaml/lib/modules/core/templates/error.twig
Normal file
33
plugins/simplesaml/lib/modules/core/templates/error.twig
Normal file
@@ -0,0 +1,33 @@
|
||||
{% set pagetitle = 'An error has occurred'|trans %}
|
||||
{% extends "base.twig" %}
|
||||
|
||||
{% block content %}
|
||||
<h2>{{ pagetitle }}</h2>
|
||||
|
||||
{% if code is same as ('IDENTIFICATION_FAILURE') %}
|
||||
<p>{{ 'The identification procesd has failed.' |trans }}</p>
|
||||
{% elseif code is same as ('AUTHENTICATION_FAILURE') %}
|
||||
<p>{{ 'The authentication procesd has failed.' |trans }}</p>
|
||||
{% elseif code is same as ('AUTHORIZATION_FAILURE') %}
|
||||
<p>{{ 'The authorization procesd has failed.' |trans }}</p>
|
||||
{% else %}
|
||||
<p>{{ 'There was an issue while signing you in.' |trans }}</p>
|
||||
{% endif %}
|
||||
|
||||
{% if ts is defined or rp is defined or tid is defined or ctx is defined %}
|
||||
<table id="table_with_attributes" class="attributes pure-table pure-table-striped pure-table-attributes" summary="attribute overview">
|
||||
{% if ts is defined %}
|
||||
<tr><td>Timestamp</td><td>{{ ts }}</td></tr>
|
||||
{% endif %}
|
||||
{% if rp is defined %}
|
||||
<tr><td>Service Provider</td><td>{{ rp }}</td></tr>
|
||||
{% endif %}
|
||||
{% if tid is defined %}
|
||||
<tr><td>Reference code</td><td>{{ tid }}</td></tr>
|
||||
{% endif %}
|
||||
{% if ctx is defined %}
|
||||
<tr><td>Context</td><td>{{ ctx }}</td></tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endblock %}
|
@@ -0,0 +1,8 @@
|
||||
{% set pagetitle = 'Error report sent'|trans %}
|
||||
{% extends "base.twig" %}
|
||||
|
||||
{% block content %}
|
||||
<h2>{{ pagetitle }}</h2>
|
||||
|
||||
<p>{{ 'The error report has been sent to the administrators.' |trans }}</p>
|
||||
{% endblock %}
|
126
plugins/simplesaml/lib/modules/core/templates/loginuserpass.twig
Normal file
126
plugins/simplesaml/lib/modules/core/templates/loginuserpass.twig
Normal file
@@ -0,0 +1,126 @@
|
||||
{% set pagetitle = 'Enter your username and password'|trans %}
|
||||
|
||||
{% extends "@core/base.twig" %}
|
||||
|
||||
{% block postload %}
|
||||
<script src="{{ asset('js/loginuserpass.js', 'core') }}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{%- if not isProduction %}
|
||||
|
||||
<div class="message-box warning">
|
||||
{% trans %}You are now accessing a pre-production system. This authentication setup is for testing and pre-production verification only. If someone sent you a link that pointed you here, and you are not <i>a tester</i> you probably got the wrong link, and should <b>not be here</b>.{% endtrans %}
|
||||
</div>
|
||||
{% endif -%}
|
||||
{% if errorcode -%}
|
||||
<div class="pure-g">
|
||||
<div class="pure-u-1">
|
||||
<div class="message-box error">
|
||||
|
||||
{% set errtitles = errorcodes['title'] %}
|
||||
{% set errtitle = errtitles[errorcode] %}
|
||||
|
||||
<h3>{{ errtitle|trans(errorparams) }}</h3>
|
||||
|
||||
{% set errdescs = errorcodes['descr'] %}
|
||||
{% set errdesc = errdescs[errorcode] %}
|
||||
|
||||
<p>{{ errdesc|trans(errorparams) }}</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{%- endif %}
|
||||
|
||||
<h1>{{ 'Enter your username and password'|trans }}</h1>
|
||||
|
||||
<p>{{ 'A service has requested you to authenticate yourself. Please enter your username and password in the form below.'|trans }}</p>
|
||||
<div class="center-form login-form-start">
|
||||
<form id="f" class="pure-form pure-form-aligned" action="{{ formURL }}" method="post" name="f" spellcheck="false">
|
||||
<div class="pure-control-group">
|
||||
<label for="username">{{ 'Username'|trans }}</label>
|
||||
<input id="username" {{ forceUsername ? 'disabled autocomplete="off"' }} placeholder="{{ username }}" type="text" name="username" class="edge"
|
||||
{%- if not forceUsername %} tabindex="1" value="{{ username }}" autocomplete="username" {% endif %}
|
||||
{%- if not forceUsername and not username %} autofocus {% endif %} >
|
||||
{% if rememberUsernameEnabled and not forceUsername -%}
|
||||
</div>
|
||||
<div class="pure-controls">
|
||||
<label for="remember_username" class="pure-checkbox">
|
||||
<input id="remember_username" type="checkbox" tabindex="4"
|
||||
{{ rememberUsernameChecked ? 'checked' }} name="remember_username" value="Yes">
|
||||
<small>{{ 'Remember my username'|trans }}</small>
|
||||
</label>
|
||||
{%- endif %}
|
||||
</div>
|
||||
|
||||
<div class="pure-control-group">
|
||||
<label for="password">{{ 'Password'|trans}}</label>
|
||||
<input id="password" type="password" tabindex="2" name="password" class="edge" autocomplete="current-password"
|
||||
{%- if forceUsername or username %} autofocus {% endif %} >
|
||||
</div>
|
||||
|
||||
{% if rememberMeEnabled -%}
|
||||
<div class="pure-controls">
|
||||
<label for="remember_me" class="pure-checkbox">
|
||||
<input id="remember_me" type="checkbox" tabindex="5"
|
||||
{{ rememberMeChecked ? 'checked="checked"' }} name="remember_me" value="Yes">
|
||||
<small>{{ 'Remember me'|trans }}</small>
|
||||
</label>
|
||||
</div>
|
||||
{%- endif %}
|
||||
|
||||
{% if organizations is defined -%}
|
||||
<div class="pure-control-group">
|
||||
<label for="organization">{{ 'Organization'|trans }}</label>
|
||||
<div class="pure-select right pure-input-1-2 pure-input-sm-1-1">
|
||||
<select name="organization" id="organization" tabindex="3">
|
||||
{{ selectedOrg ?: null }}
|
||||
{%- for id, orgDesc in organizations -%}
|
||||
{% if id == selectedOrg -%}
|
||||
{%- set selected = 'selected="selected"' %}
|
||||
{%- else -%}
|
||||
{% set selected = '' -%}
|
||||
{% endif -%}
|
||||
{% if orgDesc -%}
|
||||
<option value="{{ id }}" {{ selected }}>{{ orgDesc|trans }}</option>
|
||||
{% endif -%}
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% if rememberOrganizationEnabled is defined -%}
|
||||
<div class="pure-controls">
|
||||
<label for="remember_organization" class="pure-checkbox">
|
||||
<input type="checkbox" id="remember_organization" tabindex="5" name="remember_organization"
|
||||
value="Yes" {{ rememberOrganizationChecked ? 'checked="checked"' }} >
|
||||
<small>{{ 'Remember my organization'|trans }}</small>
|
||||
</label>
|
||||
</div>
|
||||
{%- endif %}
|
||||
</div> <!--pure-control-group-->
|
||||
{%- endif %}
|
||||
|
||||
<div class="pure-control-group center login-form-submit">
|
||||
<button class="pure-button pure-button-red pure-input-1-2 pure-input-sm-1-1 right" id="submit_button"
|
||||
type="submit" tabindex="6" data-default="{% trans %}Login{% endtrans %}"
|
||||
data-processing="{% trans %}Processing...{% endtrans %}">
|
||||
{% trans %}Login{% endtrans %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% if loginpage_links is defined -%}
|
||||
<ul>
|
||||
{% for link in loginpage_links -%}
|
||||
<li><a href="{{ link.href }}">{{ link['text']|trans }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{%- endif %}
|
||||
|
||||
<br><br>
|
||||
<div class="pure-form-message">
|
||||
<strong>{{ 'Help! I don\'t remember my password.'|trans }}</strong>
|
||||
<p>{{ 'Without your username and password you cannot authenticate yourself for access to the service. There may be someone that can help you. Consult the help desk at your organization!'|trans }}</p>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
@@ -0,0 +1,2 @@
|
||||
{% set pagetitle = 'Logging out...'|trans %}
|
||||
{% extends "@core/logout-iframe.twig" %}
|
126
plugins/simplesaml/lib/modules/core/templates/logout-iframe.twig
Normal file
126
plugins/simplesaml/lib/modules/core/templates/logout-iframe.twig
Normal file
@@ -0,0 +1,126 @@
|
||||
{% set pagetitle = 'Logging out...'|trans %}
|
||||
{% extends "base.twig" %}
|
||||
|
||||
{% block preload %}
|
||||
|
||||
<link rel="preload" href="{{ asset('js/logout.js') }}" as="script">
|
||||
{%- if type != "init" %}
|
||||
{%- set content = '2' %}
|
||||
{%- if remaining_services|length == 0 %}
|
||||
{%- set content = '0; url=' ~ moduleURL('core/logout-iframe-done', {'id': auth_state }) %}
|
||||
{%- endif %}
|
||||
|
||||
<meta http-equiv="refresh" content="{{ content }}">
|
||||
{% endif %}
|
||||
{% endblock preload %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ pagetitle }}</h1>
|
||||
{%- if terminated_service %}
|
||||
{%- set SP = terminated_service|entityDisplayName %}
|
||||
|
||||
<p>{% trans with {
|
||||
'%SP%': SP
|
||||
} %}You are now successfully logged out from %SP%.{% endtrans %}</p>
|
||||
{%- endif %}
|
||||
{%- if remaining_services %}
|
||||
{%- set failed = false %}
|
||||
{%- set remaining = 0 %}
|
||||
{%- if remaining_services|length > 0 %}
|
||||
|
||||
<p>{% trans %}You are also logged in on these services:{% endtrans %}</p>
|
||||
{%- endif %}
|
||||
|
||||
<div class="custom-restricted-width">
|
||||
<ul class="fa-ul">
|
||||
{%- for key, sp in remaining_services %}
|
||||
{%- set timeout = 5 %}
|
||||
{%- set name = sp['metadata']|entityDisplayName %}
|
||||
{%- set icon = 'circle-o-notch' %}
|
||||
{%- if sp['status'] == 'completed' %}
|
||||
{%- set icon = 'check-circle' %}
|
||||
{%- elseif sp['status'] == 'failed' %}
|
||||
{%- set icon = 'exclamation-circle' %}
|
||||
{%- set failed = true %}
|
||||
{%- elseif (sp['status'] == 'onhold' or sp['status'] == 'inprogress') %}
|
||||
{%- set remaining = remaining + 1 %}
|
||||
{%- endif %}
|
||||
{%- if type == 'nojs' and sp['status'] == 'inprogress' %}
|
||||
{%- set icon = icon ~ ' fa-spin' %}
|
||||
{%- endif %}
|
||||
|
||||
<li id="sp-{{ key }}" data-id="{{ key }}" data-status="{{ sp['status'] }}"
|
||||
{#- #} data-timeout="{{ timeout }}">
|
||||
<span class="fa-li"><i id="icon-{{ key }}" class="fa fa-{{ icon }}"></i></span>
|
||||
{{ name }}
|
||||
{%- if sp['status'] != 'completed' and sp['status'] != 'failed' %}
|
||||
{%- if type == 'nojs' %}
|
||||
|
||||
<iframe id="iframe-{{ key }}" class="hidden" src="{{ sp['logoutURL'] }}"></iframe>
|
||||
{%- else %}
|
||||
|
||||
<iframe id="iframe-{{ key }}" class="hidden" data-url="{{ sp['logoutURL'] }}"></iframe>
|
||||
{%- endif %}
|
||||
{%- else %}
|
||||
{%- if sp['status'] == 'failed' %}
|
||||
({% trans %}logout is not supported{% endtrans %})
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
</li>
|
||||
{%- endfor %}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div id="error-message"{% if not failed or type == 'init' %} class="hidden"{% endif %}>
|
||||
<div class="message-box error">
|
||||
{% trans %}Unable to log out of one or more services. To ensure that all your sessions are closed, you are encouraged to <i>close your webbrowser</i>.{% endtrans %}
|
||||
</div>
|
||||
</div>
|
||||
<form id="error-form" action="{{ moduleURL('core/logout-iframe-done') }}"
|
||||
{%- if (not failed or type == 'init') and remaining %} class="hidden"{% endif %}>
|
||||
<input type="hidden" name="id" value="{{ auth_state }}">
|
||||
<button type="submit" id="btn-continue" name="ok" class="pure-button pure-button-red">
|
||||
{%- trans %}Continue{% endtrans -%}
|
||||
</button>
|
||||
</form>
|
||||
<div id="original-actions"{% if type != 'init' %} class="hidden"{% endif %}>
|
||||
<p>{% trans %}Do you want to logout from all the services above?{% endtrans %}</p>
|
||||
<div class="pure-button-group two-elements">
|
||||
<form id="startform" action="{{ moduleURL('core/logout-iframe') }}">
|
||||
<input type="hidden" name="id" value="{{ auth_state }}">
|
||||
<noscript>
|
||||
<input type="hidden" name="type" value="nojs" id="logout-type-selector">
|
||||
</noscript>
|
||||
<button type="submit" id="btn-all" name="ok" class="pure-button pure-button-red">
|
||||
{%- trans %}Yes, all services{% endtrans -%}
|
||||
</button>
|
||||
</form>
|
||||
<form action="{{ moduleURL('core/logout-iframe-done') }}">
|
||||
<input type="hidden" name="id" value="{{ auth_state }}">
|
||||
<input type="hidden" name="cancel" value="">
|
||||
<button id="btn-cancel" class="pure-button" type="submit">
|
||||
{%- if terminated_service %}{% trans with {
|
||||
'%SP%': SP
|
||||
} %}No, only %SP%{% endtrans %}
|
||||
{%- else %}{% trans %}No{% endtrans %}{% endif -%}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{%- else %}
|
||||
<form id="error-form" action="{{ moduleURL('core/logout-iframe-done') }}">
|
||||
<input type="hidden" name="id" value="{{ auth_state }}">
|
||||
<button type="submit" id="btn-continue" name="ok" class="pure-button pure-button-red">
|
||||
{%- trans %}Continue{% endtrans -%}
|
||||
</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block postload %}
|
||||
|
||||
<script src="{{ asset('js/logout.js') }}"></script>
|
||||
{% endblock postload %}
|
@@ -0,0 +1,6 @@
|
||||
<p>{{ 'This is most likely a configuration problem on either the service provider or identity provider.'|trans }}</p>
|
||||
|
||||
<ul>
|
||||
<li>{{ 'If you are a user who received this error after following a link on a site, you should report this error to the owner of that site.'|trans }}</li>
|
||||
<li>{{ 'If you are a developer who is deploying a single sign-on solution, you have are trying to reach an endpoint using the wrong HTTP-method.'|trans }}</li>
|
||||
</ul>
|
10
plugins/simplesaml/lib/modules/core/templates/no_cookie.twig
Normal file
10
plugins/simplesaml/lib/modules/core/templates/no_cookie.twig
Normal file
@@ -0,0 +1,10 @@
|
||||
{% set pagetitle = 'Missing cookie'|trans %}
|
||||
{% extends "base.twig" %}
|
||||
|
||||
{% block content %}
|
||||
<h2>{{ 'Missing cookie'|trans }}</h2>
|
||||
<p>{{ 'You appear to have disabled cookies in your browser. Please check the settings in your browser, and try again.'|trans }}</p>
|
||||
{% if retryURL is not null %}
|
||||
<p><a href="{{ retryURL|escape('html') }}" class="pure-button pure-button-red" id="retry">{{ 'Retry'|trans }}</a></p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
@@ -0,0 +1,7 @@
|
||||
<p>{{ 'This is most likely a configuration problem on either the service provider or identity provider.'|trans }}</p>
|
||||
|
||||
<ul>
|
||||
<li>{{ 'If you are a user who received this error after following a link on a site, you should report this error to the owner of that site.'|trans }}</li>
|
||||
<li>{{ 'If you are a developer who is deploying a single sign-on solution, you have a problem with the metadata configuration. Verify that metadata is configured correctly on both the identity provider and service provider.'|trans }}</li>
|
||||
</ul>
|
||||
|
14
plugins/simplesaml/lib/modules/core/templates/no_state.twig
Normal file
14
plugins/simplesaml/lib/modules/core/templates/no_state.twig
Normal file
@@ -0,0 +1,14 @@
|
||||
<h3>{{ 'Suggestions for resolving this problem:'|trans }}</h3>
|
||||
<ul>
|
||||
<li>{{ 'Check that the link you used to access the web site is correct.'|trans }}</li>
|
||||
<li>{{ 'Go back to the previous page and try again.'|trans }}</li>
|
||||
<li>{{ 'Close the web browser, and try again.'|trans }}</li>
|
||||
</ul>
|
||||
|
||||
<h3>{{ 'This error may be caused by:'|trans }}</h3>
|
||||
<ul>
|
||||
<li>{{ 'The link used to get here was bad, perhaps a bookmark.'|trans }}</li>
|
||||
<li>{{ 'Using the back and forward buttons in the web browser.'|trans }}</li>
|
||||
<li>{{ 'Opened the web browser with tabs saved from the previous session.'|trans }}</li>
|
||||
<li>{{ 'Cookies may be disabled in the web browser.'|trans }}</li>
|
||||
</ul>
|
@@ -0,0 +1,16 @@
|
||||
{% set pagetitle = 'SimpleSAMLphp'|trans %}
|
||||
{% extends "base.twig" %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{{ 'Too short interval between single sign on events.'|trans }}</h1>
|
||||
<form style="display: inline; margin: 0px; padding: 0px" action="{{ moduleURL('core/short_sso_interval') }}">
|
||||
{% for name, value in params %}
|
||||
<input type="hidden" name="{{ name|escape('html') }}" value="{{ value|escape('html') }}">
|
||||
{% endfor %}
|
||||
<p>{{ 'We have detected that there is only a few seconds since you last authenticated with this service provider, and therefore assume that there is a problem with this SP.'|trans }}</p>
|
||||
<div class="trackidtext">
|
||||
<p>{{ 'If you report this error, please also report this tracking number which makes it possible to locate your session in the logs available to the system administrator:'|trans }}<span class="trackid">{{ trackId }}</span></p>
|
||||
</div>
|
||||
<input type="submit" name="continue" id="contbutton" value="{{ 'Retry login'|trans|escape('html') }}" autofocus>
|
||||
</form>
|
||||
{% endblock %}
|
12
plugins/simplesaml/lib/modules/core/templates/welcome.twig
Normal file
12
plugins/simplesaml/lib/modules/core/templates/welcome.twig
Normal file
@@ -0,0 +1,12 @@
|
||||
{% set pagetitle = 'Welcome'|trans %}
|
||||
|
||||
{% extends "@core/base.twig" %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{{ 'Welcome'|trans }}</h1>
|
||||
|
||||
<p>{{ 'This is the front page of the SimpleSAMLphp authentication software. There\'s not much to see here.'|trans }}</p>
|
||||
|
||||
<p>{% trans %}If you are the administrator of this installation, please refer to the <a href="https://simplesamlphp.org/docs/">SimpleSAMLphp documentation</a> for how to configure and interact with the software.{% endtrans %}</p>
|
||||
|
||||
{% endblock %}
|
Reference in New Issue
Block a user