Project

General

Profile

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>
(6-6/13)