Project

General

Profile

« Previous | Next » 

Revision 51864

Added by Tsampikos Livisianos almost 6 years ago

add logout redirect and fix logout page

View differences:

modules/uoa-shibboleth/views/logout.vm.bak
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/logout.vm
15 15
## custom - arbitrary object injected by deployer
16 16
##
17 17
<!DOCTYPE html>
18
<html>
18
<html lang="en-gb" dir="ltr" vocab="http://schema.org/">
19 19
    <head>
20 20
        <meta charset="utf-8">
21
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
21 22
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
23
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
24
	<meta name="description" content="OpenAIRE SSO"/>
25
	<link href="$request.getContextPath()/images/favicon.ico" />
22 26
        #if ( $logoutContext and !$logoutContext.getSessionMap().isEmpty() )
23 27
            <meta http-equiv="refresh" content="10;url=$flowExecutionUrl&_eventId=propagate">
24 28
        #end
25 29
        <title>#springMessageText("idp.title", "Web Login Service")</title>
26
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
30
        ## <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/main.css">
31

  
32
	<script src="$request.getContextPath()/js/jquery.js"></script>
33
	<script src="$request.getContextPath()/js/uikit.js"></script>
34
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/theme.css">
35
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/custom.css">
36
        <link rel="stylesheet" type="text/css" href="$request.getContextPath()/css/aai-custom.css">
37
	#set ($referer = $request.getHeader("Referer"))
38
	#if ($referer.equals("https://beta.explore.openaire.eu/"))
39
    		<meta http-equiv="refresh" content="0;URL='$referer'" />
40
	#else
41
    		<meta http-equiv="refresh" content="0;URL='https://www.openaire.eu'" />
42
	#end
27 43
    </head>
28 44

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

  
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>
65
         <div class=" uk-section  uk-margin-large-top tm-middle custom-main-content" id="tm-main">
66
            <div class="uk-container">
67
            <p>You have been succesfully logged out</p>
41 68
            <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 69
          </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 70
        </div>
81
      </div>
71
      <!-- FOOTER STARTS HERE-->
72
         <div class="custom-footer">
73
            <div class="uk-section-primary uk-section uk-section-small">
74
               <div class="uk-container">
75
                  <div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
76
                     <div class="uk-width-1-1@m uk-first-column">
77
                        <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-center">
78
                           <img alt="OpenAIRE" class="el-image" src="$request.getContextPath()/images/Logo_Horizontal_white_small.png">
79
                        </div>
80
                        <div class="footer-license uk-margin uk-margin-remove-bottom uk-text-center uk-text-lead">
81
                           <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>
82
                           <div>OPENAIRE IS POWERED BY&nbsp;<a href="http://www.d-net.research-infrastructures.eu/" target="_blank">D-NET</a>.</div>
83
                        </div>
84
                        <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right">
85
                           <a class="uk-totop uk-icon" href="#" uk-scroll="" uk-totop=""></a>
86
                        </div>
87
                     </div>
88
                  </div>
89
               </div>
90
            </div>
91
	    <!-- FOOTER ENDS HERE-->
92
         </div>
93
	 </div>
82 94

  
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 95
    
90 96
 	</body>
91
</html>
97
</html>

Also available in: Unified diff