Project

General

Profile

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>
(9-9/12)