Project

General

Profile

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