Project

General

Profile

« Previous | Next » 

Revision 49495

Added by Tsampikos Livisianos over 6 years ago

initial commit

View differences:

modules/uoa-shibboleth/views/client-storage/client-storage-write.vm
1
##
2
## Velocity template to write to local storage.
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## saveContext - context with details about the storage data to save
10
## encoder - HTMLEncoder class
11
## request - HttpServletRequest
12
## response - HttpServletResponse
13
## environment - Spring Environment object for property resolution
14
#set ($title = $springMacroRequestContext.getMessage("idp.title", "Web Login Service"))
15
#set ($titleSuffix = $springMacroRequestContext.getMessage("idp.client-storage-write.suffix", "Saving Session Information..."))
16
##
17
<!DOCTYPE html>
18
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
19
    <head>
20
        <meta charset="utf-8" />
21
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
22
        <title>$title - $titleSuffix</title>
23
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
24
        <script>
25
        <!--
26
        #include( "client-storage/local-storage-write.js" )
27
        // -->
28
        </script>
29
    </head>
30
    <body onload="doSave()">
31
        <div class="wrapper">
32
            <div class="container">
33
                <header>
34
                    <h3>$title - $titleSuffix</h3>
35
                </header>
36
                <div class="content">
37
                $springMacroRequestContext.getMessage("idp.client-storage-write.text", "Saving login session information to the browser...")
38
                </div>
39
                <noscript>
40
                    <div class="content">
41
                    $springMacroRequestContext.getMessage("idp.client-storage.no-js", "Since your browser does not support JavaScript, you must press the Continue button once to proceed.")
42
                    </div>
43
                </noscript>
44
                #parse( "client-storage/write.vm" )
45
            </div>
46
            <footer>
47
                <div class="container container-footer">
48
                    <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
49
                </div>
50
            </footer>
51
        </div>
52
    </body>
53
</html>
modules/uoa-shibboleth/views/client-storage/client-storage-read.vm
1
##
2
## Velocity template to read from local storage.
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## loadContext - context with details about the storage keys to load
10
## encoder - HTMLEncoder class
11
## request - HttpServletRequest
12
## response - HttpServletResponse
13
## environment - Spring Environment object for property resolution
14
#set ($title = $springMacroRequestContext.getMessage("idp.title", "Web Login Service"))
15
#set ($titleSuffix = $springMacroRequestContext.getMessage("idp.client-storage-read.suffix", "Loading Session Information"))
16
##
17
<!DOCTYPE html>
18
<html>
19
    <head>
20
        <meta charset="utf-8" />
21
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
22
        <title>$title - $titleSuffix</title>
23
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
24
        <script>
25
        <!--
26
        #include( "client-storage/local-storage-read.js" )
27
        // -->
28
        </script>
29
    </head>
30
    <body onload="doLoad()">
31
        <div class="wrapper">
32
            <div class="container">
33
                <header>
34
                    <h3>$title - $titleSuffix</h3>
35
                </header>
36
                <div class="content">
37
                $springMacroRequestContext.getMessage("idp.client-storage-read.text", "Loading login session information from the browser...")
38
                </div>
39
                <noscript>
40
                    <div class="content">
41
                    $springMacroRequestContext.getMessage("idp.client-storage.no-js", "Since your browser does not support JavaScript, you must press the Continue button once to proceed.")
42
                    </div>
43
                </noscript>
44
                #parse( "client-storage/read.vm" )
45
            </div>
46
            <footer>
47
                <div class="container container-footer">
48
                    <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
49
                </div>
50
            </footer>
51
        </div>
52
    </body>
53
</html>
modules/uoa-shibboleth/views/login-error.vm
1
## Velocity Template for login error message production, included by login.vm
2
##
3
## authenticationErrorContext - context containing error data, if available
4
##
5
#if ($authenticationErrorContext && $authenticationErrorContext.getClassifiedErrors().size() > 0 && $authenticationErrorContext.getClassifiedErrors().iterator().next() != "ReselectFlow")
6
    ## This handles errors that are classified by the message maps in the authentication config.
7
    #set ($eventId = $authenticationErrorContext.getClassifiedErrors().iterator().next())
8
    #set ($eventKey = $springMacroRequestContext.getMessage("$eventId", "login"))
9
    #set ($message = $springMacroRequestContext.getMessage("${eventKey}.message", "Login Failure: $eventId"))
10
#elseif ($authenticationErrorContext && $authenticationErrorContext.getExceptions().size() > 0)
11
    ## This handles login exceptions that are left unclassified.
12
    #set ($loginException = $authenticationErrorContext.getExceptions().get(0))
13
    #if ($loginException.getMessage())
14
        #set ($message = "Login Failure: $loginException.getMessage()")
15
    #else
16
    	#set ($message = $loginException.toString())
17
    #end
18
#end
19

  
20
#if ($message)
21
    <section>
22
        <p class="form-element form-error">$encoder.encodeForHTML($message)</p>
23
    </section>
24
#end
modules/uoa-shibboleth/views/logout-complete.vm
1
##
2
## Velocity Template for logout flow's concluding view-state (no propagation)
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## logoutContext - context with SPSession details for logout operation
10
## multiRPContext - context with RelyingPartyContexts and possibly SP UI information from the metadata
11
## encoder - HTMLEncoder class
12
## request - HttpServletRequest
13
## response - HttpServletResponse
14
## environment - Spring Environment object for property resolution
15
## custom - arbitrary object injected by deployer
16
##
17
<!DOCTYPE html>
18
<html>
19
    <head>
20
        <meta charset="utf-8">
21
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
22
        <title>#springMessageText("idp.title", "Web Login Service")</title>
23
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
24
    </head>
25

  
26
    <body>
27
    <div class="wrapper">
28
      <div class="container">
29
        <header>
30
          <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
31
        </header>
32

  
33
        <div class="content">
34
          <div class="column one">
35
            <p>#springMessageText("idp.logout.local", "You elected not to log out of all the applications accessed during your session.")</p>
36
          </div>
37
          <div class="column two">
38
            <ul class="list list-help">
39
              <li class="list-help-item"><a href="#springMessageText("idp.url.password.reset", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.forgotPassword", "Forgot your password?")</a></li>
40
              <li class="list-help-item"><a href="#springMessageText("idp.url.helpdesk", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.needHelp", "Need Help?")</a></li>
41
            </ul>
42
          </div>
43
        </div>
44
      </div>
45

  
46
      <!-- If SAML logout, complete the flow by adding a hidden iframe. -->
47
      #if ( $profileRequestContext.getProfileId().contains("saml2/logout") )
48
          <iframe style="display:none" src="$flowExecutionUrl&_eventId=proceed"></iframe>
49
      #end
50

  
51
      <footer>
52
        <div class="container container-footer">
53
          <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
54
        </div>
55
      </footer>
56
    </div>
57
    
58
 	</body>
59
</html>
modules/uoa-shibboleth/views/login.vm.bak
1
##
2
## Velocity Template for DisplayUsernamePasswordPage view-state
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## authenticationContext - context with authentication request information
10
## authenticationErrorContext - context with login error state
11
## authenticationWarningContext - context with login warning state
12
## ldapResponseContext - context with LDAP state (if using native LDAP)
13
## rpUIContext - the context with SP UI information from the metadata
14
## extendedAuthenticationFlows - collection of "extended" AuthenticationFlowDescriptor objects
15
## passwordPrincipals - contents of the shibboleth.authn.Password.PrincipalOverride bean
16
## encoder - HTMLEncoder class
17
## request - HttpServletRequest
18
## response - HttpServletResponse
19
## environment - Spring Environment object for property resolution
20
## custom - arbitrary object injected by deployer
21
##
22
#set ($rpContext = $profileRequestContext.getSubcontext('net.shibboleth.idp.profile.context.RelyingPartyContext'))
23
#set ($username = $authenticationContext.getSubcontext('net.shibboleth.idp.authn.context.UsernamePasswordContext', true).getUsername())
24
#set ($passwordEnabled = false)
25
#if (!$passwordPrincipals or $passwordPrincipals.isEmpty() or $authenticationContext.isAcceptable($passwordPrincipals))
26
  #set ($passwordEnabled = true)
27
#end
28
##
29
<!DOCTYPE html>
30
<html>
31
    <head>
32
        <meta charset="utf-8">
33
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
34
        <title>#springMessageText("idp.title", "Web Login Service")</title>
35
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
36
#**
37
	<script src="#springMessageText("openaire.js.jquery", "./js/jquery.js")"></script>
38
	<script src="#springMessageText("openaire.js.uikit", "./js/uikit.js")"></script>
39
        <link rel="stylesheet" type="text/css" href="#springMessageText("openaire.css.custom", "./css/custom.css")">
40
        <link rel="stylesheet" type="text/css" href="#springMessageText("openaire.css.theme", "./css/theme.css")">
41
        <link rel="stylesheet" type="text/css" href="#springMessageText("openaire.css.aai-custom", "./css/aai-custom.css")">
42
*#
43
	<script src="$request.getContextPath()/js/jquery.js")"></script>
44
	<script src="$request.getContextPath()/js/uikit.js")"></script>
45
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/custom.css")">
46
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/theme.css")">
47
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/aai-custom.css")">
48

  
49
    </head>
50
    <body>
51
    <div class="wrapper">
52
      <div class="container">
53
        <header>
54
          <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
55
        </header>
56

  
57
        <div class="content">
58
          <div class="column one">
59
            #parse("login-error.vm")
60

  
61
            <form action="$flowExecutionUrl" method="post">
62

  
63
            #set ($serviceName = $rpUIContext.serviceName)
64
            #if ($serviceName && !$rpContext.getRelyingPartyId().contains($serviceName))
65
              <legend>
66
                #springMessageText("idp.login.loginTo", "Login to") $encoder.encodeForHTML($serviceName)
67
              </legend>
68
            #end
69
                        
70
            #if ($passwordEnabled)
71
              <div class="form-element-wrapper">
72
                <label for="username">#springMessageText("idp.login.username", "Username")</label>
73
                <input class="form-element form-field" id="username" name="j_username" type="text"
74
                	value="#if($username)$encoder.encodeForHTML($username)#end">
75
              </div>
76

  
77
              <div class="form-element-wrapper">
78
                <label for="password">#springMessageText("idp.login.password", "Password")</label>
79
                <input class="form-element form-field" id="password" name="j_password" type="password" value="">
80
              </div>
81

  
82
              <div class="form-element-wrapper">
83
                <input type="checkbox" name="donotcache" value="1" id="donotcache">
84
                <label for="donotcache">#springMessageText("idp.login.donotcache", "Don't Remember Login")</label>
85
               </div>
86
            #end
87

  
88
              <div class="form-element-wrapper">
89
                <input id="_shib_idp_revokeConsent" type="checkbox" name="_shib_idp_revokeConsent" value="true">
90
                <label for="_shib_idp_revokeConsent">#springMessageText("idp.attribute-release.revoke", "Clear prior granting of permission for release of your information to this service.")</label>
91
              </div>
92

  
93
            #if ($passwordEnabled)
94
              <div class="form-element-wrapper">
95
                <button class="form-element form-button" type="submit" name="_eventId_proceed"
96
                    onClick="this.childNodes[0].nodeValue='#springMessageText("idp.login.pleasewait", "Logging in, please wait...")'"
97
                    >#springMessageText("idp.login.login", "Login")</button>
98
              </div>
99
            #end
100

  
101
            #foreach ($extFlow in $extendedAuthenticationFlows)
102
              #if ($authenticationContext.isAcceptable($extFlow) and $extFlow.apply(profileRequestContext))
103
                <div class="form-element-wrapper">
104
                  <button class="form-element form-button" type="submit" name="_eventId_$extFlow.getId()">
105
                    #springMessageText("idp.login.$extFlow.getId().replace('authn/','')", $extFlow.getId().replace('authn/',''))
106
                  </button>
107
                </div>
108
              #end
109
            #end
110
            </form>
111

  
112
			#*
113
              //
114
              //    SP Description & Logo (optional)
115
              //    These idpui lines will display added information (if available
116
              //    in the metadata) about the Service Provider (SP) that requested
117
              //    authentication. These idpui lines are "active" in this example
118
              //    (not commented out) - this extra SP info will be displayed.
119
              //    Remove or comment out these lines to stop the display of the
120
              //    added SP information.
121
              //
122
            *#
123
            #set ($logo = $rpUIContext.getLogo())
124
            #if ($logo)
125
              <img src= "$encoder.encodeForHTMLAttribute($logo)"
126
                  alt="$encoder.encodeForHTMLAttribute($serviceName)">
127
            #end
128
            #set ($desc = $rpUIContext.getServiceDescription())
129
            #if ($desc)
130
              $encoder.encodeForHTML($desc)
131
            #end
132
            
133
          </div>
134
          <div class="column two">
135
            <ul class="list list-help">
136
              #if ($passwordEnabled)
137
                <li class="list-help-item"><a href="#springMessageText("idp.url.password.reset", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.forgotPassword", "Forgot your password?")</a></li>
138
              #end
139
              <li class="list-help-item"><a href="#springMessageText("idp.url.helpdesk", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.needHelp", "Need Help?")</a></li>
140
            </ul>
141
          </div>
142
        </div>
143
      </div>
144

  
145
      <footer>
146
        <div class="container container-footer">
147
          <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
148
        </div>
149
      </footer>
150
    </div>
151
    
152
 	</body>
153
</html>
modules/uoa-shibboleth/views/error.vm.bak
1
##
2
## Velocity Template for error end-state
3
##
4
## Velocity context will contain the following properties
5
## flowRequestContext - the Spring Web Flow RequestContext
6
## profileRequestContext - root of context tree
7
## encoder - HTMLEncoder class
8
## request - HttpServletRequest
9
## response - HttpServletResponse
10
## environment - Spring Environment object for property resolution
11
## custom - arbitrary object injected by deployer
12
##
13
#set ($title = $springMacroRequestContext.getMessage("idp.title", "Web Login Service"))
14
#set ($defaultTitleSuffix = $springMacroRequestContext.getMessage("idp.title.suffix", "Error"))
15
##
16
#if ($flowRequestContext)
17
	## This handles flow events, the most common case.
18
    #set ($eventId = $flowRequestContext.getCurrentEvent().getId())
19
    #set ($eventKey = $springMacroRequestContext.getMessage("$eventId", "error"))
20
    #set ($titleSuffix = $springMacroRequestContext.getMessage("${eventKey}.title", "$defaultTitleSuffix"))
21
    #set ($message = $springMacroRequestContext.getMessage("${eventKey}.message", "$defaultTitleSuffix: $eventId"))
22
    #if ($eventId == "AccessDenied" or $eventId == "ContextCheckDenied")
23
        $response.setStatus(403)
24
    #elseif ($eventId == "AttributeReleaseRejected" || $eventId == "TermsRejected")
25
        $response.setStatus(200)
26
    #elseif ($eventKey == "unexpected" || $eventKey == "runtime-error" || $eventKey == "error")
27
        $response.setStatus(500)
28
    #else
29
        $response.setStatus(400)
30
    #end
31
#elseif ($exception)
32
	## This handles exceptions that reach the Spring-MVC exception handler.
33
    #set ($eventId = $exception.getClass().getSimpleName())
34
    #set ($eventKey = $springMacroRequestContext.getMessage("$eventId", "error"))
35
    #set ($titleSuffix = $springMacroRequestContext.getMessage("${eventKey}.title", "$defaultTitleSuffix"))
36
    #set ($message = $springMacroRequestContext.getMessage("${eventKey}.message", "$defaultTitleSuffix: $eventId"))
37
#else
38
	## This is a catch-all that theoretically shouldn't happen?
39
    #set ($titleSuffix = $defaultTitleSuffix)
40
    #set ($message = $springMacroRequestContext.getMessage("idp.message", "An unidentified error occurred."))
41
#end
42
##
43
<!DOCTYPE html>
44
<html>
45
    <head>
46
        <meta charset="utf-8">
47
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
48
        <title>$title - $titleSuffix</title>
49
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
50
    </head>
51
  	
52
    <body>
53
    <div class="wrapper">
54
    	<div class="container">
55
        	<header>
56
				<img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
57
				<h3>$title - $titleSuffix</h3>
58
			</header>
59
		
60
        	<div class="content">
61
            #evaluate($message)
62
            </div>
63
    	</div>
64

  
65
      	<footer>
66
        	<div class="container container-footer">
67
          		<p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
68
        	</div>
69
      	</footer>
70
      	
71
    </div>
72
    </body>
73
</html>
modules/uoa-shibboleth/views/user-prefs.js
1
"use strict";
2

  
3
function createCookie(name, value, seconds) {
4
    var date = new Date();
5
    date.setTime(date.getTime() + (seconds * 1000));
6
    var expires = "; expires=" + date.toGMTString();
7
    
8
    var path = '$environment.getProperty("idp.cookie.path", $request.getContextPath())';
9
    if (path.length > 0)
10
        path = "; path=" + path;
11
    document.cookie = name + "=" + value + expires + path;
12
}
13

  
14
function eraseCookie(name) {
15
    createCookie(name, "", -31536000);
16
}
17

  
18
function readCookie(name) {
19
    var nameEQ = name + "=";
20
    var ca = document.cookie.split(';');
21
    for (var i = 0; i < ca.length; i++) {
22
        var c = ca[i];
23
        while (c.charAt(0) == ' ')
24
            c = c.substring(1, c.length);
25
        if (c.indexOf(nameEQ) == 0)
26
            return c.substring(nameEQ.length, c.length);
27
    }
28
    return null;
29
}
30

  
31
function load(id) {
32
    var checkbox = document.getElementById(id);
33
    if (checkbox != null) {
34
        var spnego = readCookie(checkbox.name);
35
        checkbox.checked = (spnego == "1");
36
    }
37
}
38

  
39
function check(checkbox) {
40
    if (checkbox.checked) {
41
        createCookie(checkbox.name, checkbox.value, $environment.getProperty("idp.cookie.maxAge","31536000"));
42
    } else {
43
        eraseCookie(checkbox.name);
44
    }
45
}
modules/uoa-shibboleth/views/duo.vm
1
##
2
## Velocity Template for Duo login view-state
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## authenticationContext - context with authentication request information
10
## rpUIContext - the context with SP UI information from the metadata
11
## canonicalUsername - name of user passed to Duo
12
## duoHost - API hostname for Duo frame
13
## duoRequest - signed Duo request message
14
## duoScriptPath - path to Duo JavaScript source
15
## encoder - HTMLEncoder class
16
## request - HttpServletRequest
17
## response - HttpServletResponse
18
## environment - Spring Environment object for property resolution
19
## custom - arbitrary object injected by deployer
20
##
21
<!DOCTYPE html>
22
<html>
23
<head>
24
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
25
    <meta charset="utf-8">
26
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
27
    <title>#springMessageText("idp.title", "Web Login Service")</title>
28
    <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
29
    <style>
30
      #duo_iframe {
31
        width: 100%;
32
        min-width: 304px;
33
        max-width: 620px;
34
        height: 330px;
35
      }
36
    </style>
37
</head>
38
<body>
39
    <div class="wrapper">
40
      <div class="container">
41
        <header>
42
          <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
43
        </header>
44

  
45
        <div class="content">
46
          <div class="column one">
47
          
48
            <h3>#springMessageText("idp.login.duoRequired", "Authentication with Duo is required for the requested service.")</h3>
49

  
50
            <noscript>#springMessageText("idp.login.duoNoScript", "The Duo service requires JavaScript.")</noscript>          
51
            <script src="$request.getContextPath()$duoScriptPath"></script>
52
            <iframe id="duo_iframe"
53
                data-host="$duoHost"
54
                data-sig-request="$duoRequest"
55
                data-post-action="$flowExecutionUrl"
56
                frameborder="0"
57
            >
58
            </iframe>
59
            <form id="duo_form" method="post">
60
                <input type="hidden" name="_eventId" value="proceed" />
61

  
62
            </form>
63
            
64
            <h3 style="text-align: center">
65
                <a href="$flowExecutionUrl&_eventId=cancel">#springMessageText("idp.login.duoCancel", "Cancel this Request")</a>
66
            </h3>
67
          </div>
68
          <div class="column two">
69
            <ul class="list list-help">
70
              <li class="list-help-item"><a href="#springMessageText("idp.url.helpdesk", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.needHelp", "Need Help?")</a></li>
71
            </ul>
72
          </div>
73
        </div>
74
      </div>
75

  
76
      <footer>
77
        <div class="container container-footer">
78
          <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
79
        </div>
80
      </footer>
81
    </div>
82
</body>
83
</html>
modules/uoa-shibboleth/views/login.vm
1
##
2
## Velocity Template for DisplayUsernamePasswordPage view-state
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## authenticationContext - context with authentication request information
10
## authenticationErrorContext - context with login error state
11
## authenticationWarningContext - context with login warning state
12
## ldapResponseContext - context with LDAP state (if using native LDAP)
13
## rpUIContext - the context with SP UI information from the metadata
14
## extendedAuthenticationFlows - collection of "extended" AuthenticationFlowDescriptor objects
15
## passwordPrincipals - contents of the shibboleth.authn.Password.PrincipalOverride bean
16
## encoder - HTMLEncoder class
17
## request - HttpServletRequest
18
## response - HttpServletResponse
19
## environment - Spring Environment object for property resolution
20
## custom - arbitrary object injected by deployer
21
##
22
#set ($rpContext = $profileRequestContext.getSubcontext('net.shibboleth.idp.profile.context.RelyingPartyContext'))
23
#set ($username = $authenticationContext.getSubcontext('net.shibboleth.idp.authn.context.UsernamePasswordContext', true).getUsername())
24
#set ($passwordEnabled = false)
25
#if (!$passwordPrincipals or $passwordPrincipals.isEmpty() or $authenticationContext.isAcceptable($passwordPrincipals))
26
  #set ($passwordEnabled = true)
27
#end
28
##
29
<!DOCTYPE html>
30
<html lang="en-gb" dir="ltr" vocab="http://schema.org/">
31
<head>
32
  <meta charset="utf-8">
33
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
34
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
35
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
36
  <meta name="description" content="OpenAIRE SSO"/>
37
  <link href="$request.getContextPath()/images/favicon.ico" />
38
  <title>#springMessageText("idp.title", "Web Login Service")</title>
39

  
40
  <script src="$request.getContextPath()/js/jquery.js"></script>
41
  <script src="$request.getContextPath()/js/uikit.js"></script>
42
  <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/theme.css">
43
  <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/custom.css">
44
  <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/aai-custom.css">
45
</head>
46

  
47
<body class="" style="">
48
  <div class="uk-offcanvas-content uk-height-viewport">
49
    <!-- MENU STARTS HERE-->
50
    <div class="tm-header  tm-header-transparent" uk-header="">
51
      <div class="uk-container uk-container-expand">
52
        <nav class="uk-navbar" uk-navbar="{&quot;align&quot;:&quot;left&quot;}">
53
          <div class="uk-navbar-center">
54
            <div class="uk-logo uk-navbar-item">
55
              <img alt="OpenAIRE" class="uk-responsive-height" src="$request.getContextPath()/images/Logo_Horizontal.png">
56
            </div>
57
          </div>
58
        </nav>
59
      </div>
60
    </div>
61
    <!-- MENU ENDS HERE -->
62
    <div class="first_page_section uk-section-default uk-section uk-padding-remove-vertical">
63
      <div class="first_page_banner_headline uk-grid-collapse uk-flex-middle uk-margin-remove-vertical uk-grid" uk-grid="">
64
      </div>
65
    </div>
66

  
67
    <div class=" uk-section  uk-margin-large-top tm-middle custom-main-content" id="tm-main">
68
      <div class="uk-container">
69
        <div uk-grid="" class="uk-grid uk-grid-stack">
70
          <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-2@l uk-align-center">
71

  
72
            <div class="uk-child-width-1-2@m uk-grid-small uk-grid-match" uk-grid>
73
              <div>
74
                #parse("login-error.vm")
75

  
76
                <form action="$flowExecutionUrl" method="post">
77

  
78
                  #set ($serviceName = $rpUIContext.serviceName)
79
                  #if ($serviceName && !$rpContext.getRelyingPartyId().contains($serviceName))
80
                  <p>
81
                    #springMessageText("idp.login.loginTo", "Login to") $encoder.encodeForHTML($serviceName)
82
                  </p>
83
                  #end
84

  
85
                  #if ($passwordEnabled)
86
                  <div class="form-element-wrapper">
87
                    <label for="username">#springMessageText("idp.login.username", "Username")</label>
88
                    <input class="form-element form-field" id="username" name="j_username" type="text"
89
                    value="#if($username)$encoder.encodeForHTML($username)#end">
90
                  </div>
91

  
92
                  <div class="form-element-wrapper">
93
                    <label for="password">#springMessageText("idp.login.password", "Password")</label>
94
                    <input class="form-element form-field" id="password" name="j_password" type="password" value="">
95
                  </div>
96

  
97
                  <p>
98
                    <input type="checkbox" name="donotcache" value="1" id="donotcache">
99
                    <label for="donotcache">#springMessageText("idp.login.donotcache", "Don't Remember Login")</label>
100
                  </p>
101
                  #end
102

  
103
                  <p>
104
                    <input id="_shib_idp_revokeConsent" type="checkbox" name="_shib_idp_revokeConsent" value="true">
105
                    <label for="_shib_idp_revokeConsent">#springMessageText("idp.attribute-release.revoke", "Clear prior granting of permission for release of your information to this service.")</label>
106
                  </p>
107

  
108
                  #if ($passwordEnabled)
109
                  <div class="form-element-wrapper">
110
                    <button class="uk-button uk-button-primary" type="submit" name="_eventId_proceed"
111
                    onClick="this.childNodes[0].nodeValue='#springMessageText("idp.login.pleasewait", "Logging in, please wait...")'"
112
                    >#springMessageText("idp.login.login", "Login")</button>
113
                  </div>
114
                  #end
115

  
116
                  #foreach ($extFlow in $extendedAuthenticationFlows)
117
                  #if ($authenticationContext.isAcceptable($extFlow) and $extFlow.apply(profileRequestContext))
118
                  <div class="form-element-wrapper">
119
                    <button class="form-element form-button" type="submit" name="_eventId_$extFlow.getId()">
120
                      #springMessageText("idp.login.$extFlow.getId().replace('authn/','')", $extFlow.getId().replace('authn/',''))
121
                    </button>
122
                  </div>
123
                  #end
124
                  #end
125
                </form>
126
                #*
127
                //
128
                //    SP Description & Logo (optional)
129
                //    These idpui lines will display added information (if available
130
                //    in the metadata) about the Service Provider (SP) that requested
131
                //    authentication. These idpui lines are "active" in this example
132
                //    (not commented out) - this extra SP info will be displayed.
133
                //    Remove or comment out these lines to stop the display of the
134
                //    added SP information.
135
                //
136
                *#
137
                #set ($logo = $rpUIContext.getLogo())
138
                #if ($logo)
139
                <p>
140
                  <img src= "$encoder.encodeForHTMLAttribute($logo)"
141
                  alt="$encoder.encodeForHTMLAttribute($serviceName)">
142
                </p>
143
                #end
144
                #set ($desc = $rpUIContext.getServiceDescription())
145
                #if ($desc)
146
                $encoder.encodeForHTML($desc)
147
                #end
148
              </div>
149

  
150

  
151
              <div>
152
                <ul class="list list-help">
153
                  #if ($passwordEnabled)
154
                  <li class="list-help-item"><a href="#springMessageText("idp.url.password.reset", "#")"> #springMessageText("idp.login.forgotPassword", "Forgot your password?")</a></li>
155
                  #end
156
                  <li class="list-help-item"><a href="#springMessageText("openaire.username.reset", "#")"> #springMessageText("openaire.username.forgot", "Forgot your username?")</a></li>
157
                  <li class="list-help-item"><a href="#springMessageText("idp.url.helpdesk", "#")"> #springMessageText("idp.login.needHelp", "Need Help?")</a></li>
158
                </ul>
159
              </div>
160
            </div>
161
          </div>
162
        </div>
163
      </div>
164
    </div>
165
    <!-- FOOTER STARTS HERE-->
166
    <div class="custom-footer">
167
      <div class="uk-section-primary uk-section uk-section-small">
168
        <div class="uk-container">
169
          <div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
170
            <div class="uk-width-1-1@m uk-first-column">
171
              <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-center">
172
                <img alt="OpenAIRE" class="el-image" src="$request.getContextPath()/images/Logo_Horizontal_white_small.png">
173
              </div>
174
              <div class="footer-license uk-margin uk-margin-remove-bottom uk-text-center uk-text-lead">
175
                <div><a href="http://creativecommons.org/licenses/by/4.0/" rel="license" target="_blank"><img alt="Creative" src="$request.getContextPath()/images/80x15.png" style="height: auto; max-width: 100%; vertical-align: middle;"></a>&nbsp;UNLESS OTHERWISE INDICATED, ALL MATERIALS CREATED BY THE OPENAIRE CONSORTIUM ARE LICENSED UNDER A&nbsp;<a href="http://creativecommons.org/licenses/by/4.0/" rel="license">CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE</a>.</div>
176
                <div>OPENAIRE IS POWERED BY&nbsp;<a href="http://www.d-net.research-infrastructures.eu/" target="_blank">D-NET</a>.</div>
177
              </div>
178
              <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right">
179
                <a class="uk-totop uk-icon" href="#" uk-scroll="" uk-totop=""></a>
180
              </div>
181
            </div>
182
          </div>
183
        </div>
184
      </div>
185
    </div>
186
    <!-- FOOTER ENDS HERE-->
187
  </div>
188

  
189

  
190
</body>
191
</html>
modules/uoa-shibboleth/views/error.vm
1
##
2
## Velocity Template for error end-state
3
##
4
## Velocity context will contain the following properties
5
## flowRequestContext - the Spring Web Flow RequestContext
6
## profileRequestContext - root of context tree
7
## encoder - HTMLEncoder class
8
## request - HttpServletRequest
9
## response - HttpServletResponse
10
## environment - Spring Environment object for property resolution
11
## custom - arbitrary object injected by deployer
12
##
13
#set ($title = $springMacroRequestContext.getMessage("idp.title", "Web Login Service"))
14
#set ($defaultTitleSuffix = $springMacroRequestContext.getMessage("idp.title.suffix", "Error"))
15
##
16
#if ($flowRequestContext)
17
	## This handles flow events, the most common case.
18
    #set ($eventId = $flowRequestContext.getCurrentEvent().getId())
19
    #set ($eventKey = $springMacroRequestContext.getMessage("$eventId", "error"))
20
    #set ($titleSuffix = $springMacroRequestContext.getMessage("${eventKey}.title", "$defaultTitleSuffix"))
21
    #set ($message = $springMacroRequestContext.getMessage("${eventKey}.message", "$defaultTitleSuffix: $eventId"))
22
    #if ($eventId == "AccessDenied" or $eventId == "ContextCheckDenied")
23
        $response.setStatus(403)
24
    #elseif ($eventId == "AttributeReleaseRejected" || $eventId == "TermsRejected")
25
        $response.setStatus(200)
26
    #elseif ($eventKey == "unexpected" || $eventKey == "runtime-error" || $eventKey == "error")
27
        $response.setStatus(500)
28
    #else
29
        $response.setStatus(400)
30
    #end
31
#elseif ($exception)
32
	## This handles exceptions that reach the Spring-MVC exception handler.
33
    #set ($eventId = $exception.getClass().getSimpleName())
34
    #set ($eventKey = $springMacroRequestContext.getMessage("$eventId", "error"))
35
    #set ($titleSuffix = $springMacroRequestContext.getMessage("${eventKey}.title", "$defaultTitleSuffix"))
36
    #set ($message = $springMacroRequestContext.getMessage("${eventKey}.message", "$defaultTitleSuffix: $eventId"))
37
#else
38
	## This is a catch-all that theoretically shouldn't happen?
39
    #set ($titleSuffix = $defaultTitleSuffix)
40
    #set ($message = $springMacroRequestContext.getMessage("idp.message", "An unidentified error occurred."))
41
#end
42
##
43
<!DOCTYPE html>
44
<html lang="en-gb" dir="ltr" vocab="http://schema.org/">
45
<head>
46
	<meta charset="utf-8">
47
	<meta name="viewport" content="width=device-width,initial-scale=1.0">
48
	<meta name="description" content="OpenAIRE SSO"/>
49
	<link href="$request.getContextPath()/images/favicon.ico" />
50
	<title>$title - $titleSuffix</title>
51
	## <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
52

  
53
	<script src="$request.getContextPath()/js/jquery.js"></script>
54
	<script src="$request.getContextPath()/js/uikit.js"></script>
55
	<link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/theme.css">
56
	<link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/custom.css">
57
	<link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/aai-custom.css">
58
</head>
59

  
60
<body class="" style="">
61
	<div class="uk-offcanvas-content uk-height-viewport">
62
		<!-- MENU STARTS HERE-->
63
		<div class="tm-header  tm-header-transparent" uk-header="">
64
			<div class="uk-container uk-container-expand">
65
				<nav class="uk-navbar" uk-navbar="{&quot;align&quot;:&quot;left&quot;}">
66
					<div class="uk-navbar-center">
67
						<div class="uk-logo uk-navbar-item">
68
							<img alt="OpenAIRE" class="uk-responsive-height" src="$request.getContextPath()/images/Logo_Horizontal.png">
69
						</div>
70
					</div>
71
				</nav>
72
			</div>
73
		</div>
74
		<!-- MENU ENDS HERE -->
75
		<div class="first_page_section uk-section-default uk-section uk-padding-remove-vertical">
76
			<div class="first_page_banner_headline uk-grid-collapse uk-flex-middle uk-margin-remove-vertical uk-grid" uk-grid="">
77
			</div>
78
		</div>
79

  
80

  
81
		<div class=" uk-section  uk-margin-large-top tm-middle custom-main-content" id="tm-main">
82
			<div class="uk-container">
83
				<div uk-grid="" class="uk-grid uk-grid-stack">
84
					<div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-align-center uk-first-column">
85
						<div>
86
							<h3>$title - $titleSuffix</h3>
87

  
88
							#evaluate($message)
89

  
90
						</div>
91
					</div>
92
				</div>
93
			</div>
94
		</div>
95
		<!-- FOOTER STARTS HERE-->
96
		<div class="custom-footer">
97
			<div class="uk-section-primary uk-section uk-section-small">
98
				<div class="uk-container">
99
					<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
100
						<div class="uk-width-1-1@m uk-first-column">
101
							<div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-center">
102
								<img alt="OpenAIRE" class="el-image" src="$request.getContextPath()/images/Logo_Horizontal_white_small.png">
103
							</div>
104
							<div class="footer-license uk-margin uk-margin-remove-bottom uk-text-center uk-text-lead">
105
								<div><a href="http://creativecommons.org/licenses/by/4.0/" rel="license" target="_blank"><img alt="Creative" src="$request.getContextPath()/images/80x15.png" style="height: auto; max-width: 100%; vertical-align: middle;"></a>&nbsp;UNLESS OTHERWISE INDICATED, ALL MATERIALS CREATED BY THE OPENAIRE CONSORTIUM ARE LICENSED UNDER A&nbsp;<a href="http://creativecommons.org/licenses/by/4.0/" rel="license">CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE</a>.</div>
106
								<div>OPENAIRE IS POWERED BY&nbsp;<a href="http://www.d-net.research-infrastructures.eu/" target="_blank">D-NET</a>.</div>
107
							</div>
108
							<div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right">
109
								<a class="uk-totop uk-icon" href="#" uk-scroll="" uk-totop=""></a>
110
							</div>
111
						</div>
112
					</div>
113
				</div>
114
			</div>
115
		</div>
116
	</div>
117
</body>
118
</html>
modules/uoa-shibboleth/views/logout-propagate.vm
1
##
2
## Velocity Template for logout flow's concluding view-state (with propagation)
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## logoutContext - context with SPSession details for logout operation
10
## multiRPContext - context with RelyingPartyContexts and possibly SP UI information from the metadata
11
## htmlEncoder - HTMLEncoder class
12
## urlEncoder - urlEncoder class
13
## codecUtil - CodecUtil class
14
## request - HttpServletRequest
15
## response - HttpServletResponse
16
## environment - Spring Environment object for property resolution
17
## custom - arbitrary object injected by deployer
18
##
19
<!DOCTYPE html>
20
<html>
21
    <head>
22
        <meta charset="utf-8">
23
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
24
        <title>#springMessageText("idp.title", "Web Login Service")</title>
25
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
26
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/logout.css">
27
    </head>
28

  
29
    <body>
30
    <div class="wrapper">
31
      <div class="container">
32
        <header>
33
          <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
34
        </header>
35

  
36
        <div class="content">
37
          <div class="column one">
38
              <p>#springMessageText("idp.logout.attempt", "Attempting to log out of the following services:")</p>
39
              #parse("logout/propagate.vm")
40
          </div>
41
          <div class="column two">
42
            <ul class="list list-help">
43
              <li class="list-help-item"><a href="#springMessageText("idp.url.password.reset", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.forgotPassword", "Forgot your password?")</a></li>
44
              <li class="list-help-item"><a href="#springMessageText("idp.url.helpdesk", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.needHelp", "Need Help?")</a></li>
45
            </ul>
46
          </div>
47
        </div>
48
      </div>
49

  
50
      <footer>
51
        <div class="container container-footer">
52
          <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
53
        </div>
54
      </footer>
55
    </div>
56
    
57
 	</body>
58
</html>
modules/uoa-shibboleth/views/logout.vm
1
##
2
## Velocity Template for logout flow's starting view-state
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## logoutContext - context with SPSession details for logout operation
10
## multiRPContext - context with RelyingPartyContexts and possibly SP UI information from the metadata
11
## encoder - HTMLEncoder class
12
## request - HttpServletRequest
13
## response - HttpServletResponse
14
## environment - Spring Environment object for property resolution
15
## custom - arbitrary object injected by deployer
16
##
17
<!DOCTYPE html>
18
<html>
19
    <head>
20
        <meta charset="utf-8">
21
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
22
        #if ( $logoutContext and !$logoutContext.getSessionMap().isEmpty() )
23
            <meta http-equiv="refresh" content="10;url=$flowExecutionUrl&_eventId=propagate">
24
        #end
25
        <title>#springMessageText("idp.title", "Web Login Service")</title>
26
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
27
    </head>
28

  
29
    <body>
30
    <div class="wrapper">
31
      <div class="container">
32
        <header>
33
          <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
34
        </header>
35

  
36
        <div class="content">
37
          <div class="column one">
38
            <p>This page is displayed when a logout operation at the Identity Provider completes. This page is an example
39
            and should be customized. It is not fully internationalized because the presentation will be a highly localized
40
            decision, and we don't have a good suggestion for a default.</p>
41
            <br>
42
    
43
            #if ( $logoutContext and !$logoutContext.getSessionMap().isEmpty() )
44
                <p>#springMessageText("idp.logout.ask", "Would you like to attempt to log out of all services accessed during your session? Please select <strong>Yes</strong> or <strong>No</strong> to ensure the logout operation completes, or wait a few seconds for Yes.")</p>
45
                <br>
46

  
47
                <form id="propagate_form" method="POST" action="$flowExecutionUrl">
48
                    <button id="propagate_yes" type="submit" name="_eventId" value="propagate">Yes</button>
49
                    <button id="propagate_no" type="submit" name="_eventId" value="end">No</button>
50
                </form>
51

  
52
                <br>
53
                <p>#springMessageText("idp.logout.contactServices", "If you proceed, the system will attempt to contact the following services:")</p>
54
                <ol>
55
                #foreach ($sp in $logoutContext.getSessionMap().keySet())
56
                    #set ($rpCtx = $multiRPContext.getRelyingPartyContextById($sp))
57
                    #if ($rpCtx)
58
                      #set ($rpUIContext = $rpCtx.getSubcontext("net.shibboleth.idp.ui.context.RelyingPartyUIContext"))
59
                    #end
60
                    #if ($rpUIContext and $rpUIContext.getServiceName())
61
                      <li>$encoder.encodeForHTML($rpUIContext.getServiceName())</li>
62
                    #else
63
                      <li>$encoder.encodeForHTML($sp)</li>
64
                    #end
65
                #end
66
                </ol>
67
            #else
68
                <p><strong>#springMessageText("idp.logout.complete", "The logout operation is complete, and no other services appear to have been accessed during this session.")</strong></p>
69
                <!-- Complete the flow by adding a hidden iframe. -->
70
                <iframe style="display:none" src="$flowExecutionUrl&_eventId=proceed"></iframe>
71
            #end
72

  
73
          </div>
74
          <div class="column two">
75
            <ul class="list list-help">
76
              <li class="list-help-item"><a href="#springMessageText("idp.url.password.reset", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.forgotPassword", "Forgot your password?")</a></li>
77
              <li class="list-help-item"><a href="#springMessageText("idp.url.helpdesk", "#")"><span class="item-marker">&rsaquo;</span> #springMessageText("idp.login.needHelp", "Need Help?")</a></li>
78
            </ul>
79
          </div>
80
        </div>
81
      </div>
82

  
83
      <footer>
84
        <div class="container container-footer">
85
          <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
86
        </div>
87
      </footer>
88
    </div>
89
    
90
 	</body>
91
</html>
modules/uoa-shibboleth/views/user-prefs.vm
1
##
2
## Velocity Template for user preferences view
3
##
4
## Velocity context will contain the following properties
5
## request - HttpServletRequest
6
## response - HttpServletResponse
7
## environment - Spring Environment object for property resolution
8
## custom - arbitrary object injected by deployer
9
##
10
<!DOCTYPE html>
11
<html>
12
    <head>
13
    	<meta charset="utf-8">
14
    	<meta name="viewport" content="width=device-width,initial-scale=1.0">
15
    	<title>#springMessageText("idp.userprefs.title", "Web Login Service") - #springMessageText("idp.userprefs.title.suffix", "Login Preferences")</title>
16
    	<link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
17
    	<script language="Javascript">
18
    	<!--
19
    	#parse( "user-prefs.js" )
20
    	// -->
21
    	</script>
22
    </head>
23
    <body onLoad="document.getElementById('content').style.display='block'; load('spnego')">
24
    <div class="wrapper">
25
      <div class="container">
26
        <header>
27
          <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
28
          <h3>#springMessageText("idp.title", "Web Login Service") - #springMessageText("idp.userprefs.title.suffix", "Login Preferences")</h3>
29
          <p>
30
          #springMessage("idp.userprefs.info")
31
          </p>
32
        </header>
33

  
34
        <noscript>
35
          <div id="content" class="content">
36
            $springMacroRequestContext.getMessage("idp.userprefs.no-js", "This feature requires Javascript.")
37
          </div>
38
        </noscript>
39

  
40
        <div id="content" class="content" style="display:none">
41
          <div class="form-element-wrapper">
42
          <h4>#springMessageText("idp.userprefs.options", "The following options are available:")</h4>
43
          </div>
44

  
45
          <div class="form-element-wrapper">
46
            <input type="checkbox" id="spnego" name="_idp_spnego_autologin" value="1" onClick="check(this)">
47
            #springMessageText("idp.userprefs.spnego", "Automatically try desktop login when available.")
48
          </div>
49
        </div>
50
      </div>
51

  
52
      <footer>
53
        <div class="container container-footer">
54
          <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
55
        </div>
56
      </footer>
57
    </div>
58

  
59
 	</body>
60
</html>
modules/uoa-shibboleth/views/intercept/attribute-release.vm
1
##
2
## Velocity Template for DisplayAttributeReleasePage view-state
3
##
4
## Velocity context will contain the following properties :
5
##
6
## attributeReleaseContext - context holding consentable attributes
7
## attributeReleaseFlowDescriptor - attribute consent flow descriptor
8
## attributeDisplayNameFunction - function to display attribute name
9
## consentContext - context representing the state of a consent flow
10
## encoder - HTMLEncoder class
11
## flowExecutionKey - SWF execution key (this is built into the flowExecutionUrl)
12
## flowExecutionUrl - form action location
13
## flowRequestContext - Spring Web Flow RequestContext
14
## profileRequestContext - OpenSAML profile request context
15
## request - HttpServletRequest
16
## response - HttpServletResponse
17
## rpUIContext - context with SP UI information from the metadata
18
## environment - Spring Environment object for property resolution
19
#set ($serviceName = $rpUIContext.serviceName)
20
#set ($serviceDescription = $rpUIContext.serviceDescription)
21
#set ($informationURL = $rpUIContext.informationURL)
22
#set ($privacyStatementURL = $rpUIContext.privacyStatementURL)
23
#set ($rpOrganizationLogo = $rpUIContext.getLogo())
24
#set ($rpOrganizationName = $rpUIContext.organizationName)
25
#set ($replaceDollarWithNewline = true)
26
##
27
<!DOCTYPE html>
28
<html>
29
<head>
30
  <meta charset="UTF-8">
31
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
32
  ## <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/consent.css">
33
  <title>#springMessageText("idp.attribute-release.title", "Information Release")</title>
34
  <script src="$request.getContextPath()/js/jquery.js"></script>
35
  <script src="$request.getContextPath()/js/uikit.js"></script>
36
  <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/theme.css">
37
  <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/custom.css">
38
  <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/aai-custom.css">
39

  
40
</head>
41
<body class="" style="">
42
  <div class="uk-offcanvas-content uk-height-viewport">
43
    <!-- MENU STARTS HERE-->
44
    <div class="tm-header  tm-header-transparent" uk-header="">
45
      <div class="uk-container uk-container-expand">
46
        <nav class="uk-navbar" uk-navbar="{&quot;align&quot;:&quot;left&quot;}">
47
          <div class="uk-navbar-center">
48
            <div class="uk-logo uk-navbar-item">
49
              <img alt="OpenAIRE" class="uk-responsive-height" src="$request.getContextPath()/images/Logo_Horizontal.png">
50
            </div>
51
          </div>
52
        </nav>
53
      </div>
54
    </div>
55
    <!-- MENU ENDS HERE-->
56
    <div class=" uk-section  tm-middle custom-main-content" id="tm-main">
57
      <div class="uk-container">
58
        <div uk-grid="" class="uk-grid uk-grid-stack">
59
          <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-align-center uk-first-column">
60
            <form action="$flowExecutionUrl" method="post" style="padding:10px" >
61
              <div class="uk-card uk-card-default uk-card-body">
62
                <header>
63
                  <p>
64
                    #springMessageText("idp.attribute-release.serviceNameLabel", "You are about to access the service:")<br>
65
                    #if ($rpOrganizationLogo)
66
                    <img src="$encoder.encodeForHTMLAttribute($rpOrganizationLogo)" alt="logo for $encoder.encodeForHTMLAttribute($serviceName)" class="organization_logo">
67
                    #end
68
                    #if ($serviceName)
69
                    <span class="service_name">$serviceName</span> :
70
                    #if ($rpOrganizationName)
71
                    #springMessageText("idp.attribute-release.of", "of") <span class="organization_name">$encoder.encodeForHTML($rpOrganizationName)</span>
72
                    #end
73
                    #end
74
                    #if ($serviceDescription)
75
                    <span class="service_description">$encoder.encodeForHTML($serviceDescription)</span>
76
                    #end
77
                    #if ($informationURL)
78
                    <div class="uk-text-right">
79
                      <span class="uk-text-small"><a href="$informationURL" target="_blank">#springMessageText("idp.attribute-release.informationURLLabel", "Additional information about the service")</a></span>
80
                    </div>
81
                    #end
82
                  </p>
83
                </header>
84
                <table class="uk-table uk-table-striped uk-table-hover uk-table-small">
85
                  <thead>
86
                    <tr>
87
                      <th colspan="3">
88
                        #springMessageText("idp.attribute-release.attributesHeader", "Information to be Provided to Service")
89
                      </th>
90
                    </tr>
91
                  </thead>
92
                  <tbody>
93
                    #foreach ($attribute in $attributeReleaseContext.getConsentableAttributes().values())
94
                    <tr>
95
                      <td>$encoder.encodeForHTML($attributeDisplayNameFunction.apply($attribute))</td>
96
                      <td>
97
                        #foreach ($value in $attribute.values)
98
                        #if ($replaceDollarWithNewline)
99
                        #set ($encodedValue = $encoder.encodeForHTML($value.getDisplayValue()).replaceAll($encoder.encodeForHTML("$"),"<br>"))
100
                        #else
101
                        #set ($encodedValue = $encoder.encodeForHTML($value.getDisplayValue()))
102
                        #end
103
                        #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled)
104
                        <label for="$attribute.id"><strong>$encodedValue</strong></label>
105
                        #else
106
                        <strong>$encodedValue</strong>
107
                        #end
108
                        <br>
109
                        #end
110
                      </td>
111
                      <td style="vertical-align: top">
112
                        #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled)
113
                        #set ($inputType = "checkbox")
114
                        #else
115
                        #set ($inputType = "hidden")
116
                        #end
117
                        <input id="$attribute.id" type="$inputType" name="_shib_idp_consentIds" value="$encoder.encodeForHTML($attribute.id)" checked>
118
                      </td>
119
                    </tr>
120
                    #end
121
                  </tbody>
122
                </table>
123
                #if ($privacyStatementURL)
124
                <p style="margin-top: 10px;">
125
                  <a href="$privacyStatementURL">#springMessageText("idp.attribute-release.privacyStatementURLLabel", "Data privacy information of the service")</a>
126
                </p>
127
                #end
128
                <div style="float:left;">
129
                  <p>
130
                    #springMessageText("idp.attribute-release.confirmationQuestion", "The information above would be shared with the service if you proceed. Do you agree to release this information to the service every time you access it?")
131
                  </p>
132
                  #if ($attributeReleaseFlowDescriptor.doNotRememberConsentAllowed || $attributeReleaseFlowDescriptor.globalConsentAllowed)
133
                  <div id="generalConsentDiv" class="uk-dark uk-background-muted uk-padding">
134
                    <p>
135
                      #springMessageText("idp.attribute-release.consentMethod", "Select an information release consent duration:")
136
                    </p>
137
                    #end
138
                    #if ($attributeReleaseFlowDescriptor.doNotRememberConsentAllowed)
139
                    <p>
140
                      <input id="_shib_idp_doNotRememberConsent" type="radio" name="_shib_idp_consentOptions" value="_shib_idp_doNotRememberConsent">
141
                      <label for="_shib_idp_doNotRememberConsent">#springMessageText("idp.attribute-release.doNotRememberConsentItem", "I agree to send my information this time.")</label>
142
                    </p>
143
                    #end
144
                    #if ($attributeReleaseFlowDescriptor.doNotRememberConsentAllowed || $attributeReleaseFlowDescriptor.globalConsentAllowed)
145
                    <p>
146
                      <input id="_shib_idp_rememberConsent" type="radio" name="_shib_idp_consentOptions" value="_shib_idp_rememberConsent" checked>
147
                      <label for="_shib_idp_rememberConsent">#springMessageText("", "I agree that the same information will be sent automatically to this <b>$serviceName</b> in the future.")</label>
148
                    </p>
149
                    #end
150
                    ##                    #if ($attributeReleaseFlowDescriptor.globalConsentAllowed)
151
                    ##                        <p>
152
                    ##                            <input id="_shib_idp_globalConsent" type="radio" name="_shib_idp_consentOptions" value="_shib_idp_globalConsent">
153
                    ##                                <label for="_shib_idp_globalConsent">#springMessageText("idp.attribute-release.globalConsentItem", "I agree that <strong>all</strong> of my information will be released to <strong>any</strong> service.")</label>
154
                    ##                        </p>
155
                    ##                    #end
156
                    #if ($attributeReleaseFlowDescriptor.doNotRememberConsentAllowed || $attributeReleaseFlowDescriptor.globalConsentAllowed)
157
                    #springMessageText("idp.attribute-release.consentMethodRevoke", "This setting can be revoked at any time with the checkbox on the login page.")
158
                  </div>
159
                  #end
160
                  <p style="text-align: center;">
161
                    <input type="submit" name="_eventId_AttributeReleaseRejected" value="#springMessageText("idp.attribute-release.reject", "Reject")" style="margin-right: 30px;" class="uk-button uk-button-primary">
162
                    <input type="submit" name="_eventId_proceed" value="#springMessageText("idp.attribute-release.accept", "Accept")" class="uk-button uk-button-primary">
163
                  </p>
164
                </div>
165
              </div>
166
            </form>
167
          </div>
168
        </div>
169
      </div>
170
    </div>
171
  </div>
172
  <!-- FOOTER STARTS HERE-->
173
  <div class="custom-footer">
174
    <div class="uk-section-primary uk-section uk-section-small">
175
      <div class="uk-container">
176
        <div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
177
          <div class="uk-width-1-1@m uk-first-column">
178
            <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-center">
179
              <img alt="OpenAIRE" class="el-image" src="$request.getContextPath()/images/Logo_Horizontal_white_small.png">
180
            </div>
181
            <div class="footer-license uk-margin uk-margin-remove-bottom uk-text-center uk-text-lead">
182
              <div><a href="http://creativecommons.org/licenses/by/4.0/" rel="license" target="_blank"><img alt="Creative" src="$request.getContextPath()/images/80x15.png" style="height: auto; max-width: 100%; vertical-align: middle;"></a>&nbsp;UNLESS OTHERWISE INDICATED, ALL MATERIALS CREATED BY THE OPENAIRE CONSORTIUM ARE LICENSED UNDER A&nbsp;<a href="http://creativecommons.org/licenses/by/4.0/" rel="license">CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE</a>.</div>
183
              <div>OPENAIRE IS POWERED BY&nbsp;<a href="http://www.d-net.research-infrastructures.eu/" target="_blank">D-NET</a>.</div>
184
            </div>
185
            <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right">
186
              <a class="uk-totop uk-icon" href="#" uk-scroll="" uk-totop=""></a>
187
            </div>
188
          </div>
189
        </div>
190
      </div>
191
    </div>
192
  </div>
193

  
194

  
195
</body>
196
</html>
modules/uoa-shibboleth/views/intercept/expiring-password.vm
1
##
2
## Velocity Template for expiring password view
3
##
4
## Velocity context will contain the following properties
5
## flowExecutionUrl - the form action location
6
## flowRequestContext - the Spring Web Flow RequestContext
7
## flowExecutionKey - the SWF execution key (this is built into the flowExecutionUrl)
8
## profileRequestContext - root of context tree
9
## authenticationContext - context with authentication request information
10
## authenticationErrorContext - context with login error state
11
## authenticationWarningContext - context with login warning state
12
## ldapResponseContext - context with LDAP state (if using native LDAP)
13
## encoder - HTMLEncoder class
14
## request - HttpServletRequest
15
## response - HttpServletResponse
16
## environment - Spring Environment object for property resolution
17
## custom - arbitrary object injected by deployer
18
##
19
<!DOCTYPE html>
20
<html>
21
    <head>
22
        <meta charset="utf-8">
23
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
24
        <title>#springMessageText("idp.title", "Web Login Service")</title>
25
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
26
        <meta http-equiv="refresh" content="20;url=$flowExecutionUrl&_eventId_proceed=1">
27
    </head>
28
      
29
    <body>
30
      <div class="wrapper">
31
        <div class="container">
32
            <header>
33
                <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")">
34
                <h3>#springMessageText("idp.login.expiringSoon", "Your password will be expiring soon!")</h3>
35
            </header>
36
        
37
            <div class="content">
38
                <p>#springMessageText("idp.login.changePassword", "To create a new password now, go to")
39
                <strong><a href="#" target="_blank">#</a></strong>.</p>
40
                <p>#springMessageText("idp.login.proceedBegin", "Your login will proceed in 20 seconds or you may click")
41
                <strong><a href="$flowExecutionUrl&_eventId_proceed=1">#springMessageText("idp.login.proceedHere", "here")</a></strong>
42
                #springMessageText("idp.login.proceedEnd", "to continue").</p>
43
            </div>
44
        </div>
45

  
46
        <footer>
47
          <div class="container container-footer">
48
            <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
49
          </div>
50
        </footer>
51
          
52
      </div>
53
    </body>
54
</html>
modules/uoa-shibboleth/views/intercept/terms-of-use.vm
1
##
2
## Velocity Template for DisplayTermsOfUsePage view-state
3
##
4
## Velocity context will contain the following properties :
5
##
6
## encoder - HTMLEncoder class
7
## flowExecutionKey - SWF execution key (this is built into the flowExecutionUrl)
8
## flowExecutionUrl - form action location
9
## flowRequestContext - Spring Web Flow RequestContext
10
## request - HttpServletRequest
11
## response - HttpServletResponse
12
## rpUIContext - context with SP UI information from the metadata
13
## termsOfUseId - terms of use ID to lookup message strings
14
## environment - Spring Environment object for property resolution
15
#set ($serviceName = $rpUIContext.serviceName)
16
#set ($rpOrganizationLogo = $rpUIContext.getLogo())
17
##
18
<!DOCTYPE html>
19
<html>
20
    <head>
21
        <meta charset="UTF-8">
22
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
23
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/consent.css">
24
        <title>#springMessageText("${termsOfUseId}.title", "Terms of Use")</title>
25
    </head>
26
    <body>
27
        <div class="box">
28
            <header>
29
                <img src="$request.getContextPath()#springMessage("idp.logo")" alt="#springMessageText("idp.logo.alt-text", "logo")" class="federation_logo">
30
                #if ($rpOrganizationLogo)
31
                    <img src="$encoder.encodeForHTMLAttribute($rpOrganizationLogo)" alt="$encoder.encodeForHTMLAttribute($serviceName)" class="organization_logo">
32
                #end
33
            </header>
34
            #if ($rpOrganizationLogo)
35
                <div style="float:left;">
36
                    <h1>#springMessageText("${termsOfUseId}.title", "Terms of Use")</h1>
37
                </div>
38
            #end
39
            <div id="tou-content">
40
                #springMessageText("${termsOfUseId}.text", "Terms of Use Text...")
41
            </div>
42
            <div id="tou-acceptance">
43
                <div style="float:left;">
44
                    <form action="$flowExecutionUrl" method="post" >
45
                        <input type="submit" name="_eventId_TermsRejected" value="#springMessageText("idp.terms-of-use.reject", "Refuse")" style="margin-right: 30px;">
46
                    </form>
47
                </div>
48
                <div style="float:right;">
49
                    <form action="$flowExecutionUrl" method="post" >
50
                        <input id="accept" type="checkbox" name="_shib_idp_consentIds" value="$encoder.encodeForHTML($termsOfUseId)" required>
51
                        <label for="accept">#springMessageText("idp.terms-of-use.accept", "I accept the terms of use")</label>
52
                        #if ($requireCheckbox)
53
                            <p class="form-error">#springMessageText("idp.terms-of-use.required", "Please check this box if you want to proceed.")</p>
54
                        #end
55
                        <input type="submit" name="_eventId_proceed" value="#springMessageText("idp.terms-of-use.submit", "Submit")">
56
                    </form>
57
                </div>
58
                <div style="clear:both;"></div>
59
            </div>
60
            <footer>
61
                <div class="container container-footer">
62
                    <p class="footer-text">#springMessageText("idp.footer", "Insert your footer text here.")</p>
63
                </div>
64
            </footer>
65
        </div>
66
    </body>
67
</html>
modules/uoa-shibboleth/views/intercept/attribute-release.vm.bak
1
##
2
## Velocity Template for DisplayAttributeReleasePage view-state
3
##
4
## Velocity context will contain the following properties :
5
##
6
## attributeReleaseContext - context holding consentable attributes
7
## attributeReleaseFlowDescriptor - attribute consent flow descriptor
8
## attributeDisplayNameFunction - function to display attribute name
9
## consentContext - context representing the state of a consent flow
10
## encoder - HTMLEncoder class
11
## flowExecutionKey - SWF execution key (this is built into the flowExecutionUrl)
12
## flowExecutionUrl - form action location
13
## flowRequestContext - Spring Web Flow RequestContext
14
## profileRequestContext - OpenSAML profile request context
15
## request - HttpServletRequest
16
## response - HttpServletResponse
17
## rpUIContext - context with SP UI information from the metadata
18
## environment - Spring Environment object for property resolution
19
#set ($serviceName = $rpUIContext.serviceName)
20
#set ($serviceDescription = $rpUIContext.serviceDescription)
21
#set ($informationURL = $rpUIContext.informationURL)
22
#set ($privacyStatementURL = $rpUIContext.privacyStatementURL)
23
#set ($rpOrganizationLogo = $rpUIContext.getLogo())
24
#set ($rpOrganizationName = $rpUIContext.organizationName)
25
#set ($replaceDollarWithNewline = true)
26
##
27
<!DOCTYPE html>
28
<html>
29
    <head>
30
        <meta charset="UTF-8">
31
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
32
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/consent.css">
33
        <title>#springMessageText("idp.attribute-release.title", "Information Release")</title>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff