source: TI12-security/trunk/NDGSecurity/python/ndg_security_server/ndg/security/server/wsgi/openid/provider/renderinginterface/genshi/templates/decide.html @ 6440

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg-security/TI12-security/trunk/NDGSecurity/python/ndg_security_server/ndg/security/server/wsgi/openid/provider/renderinginterface/genshi/templates/decide.html@6440
Revision 6440, 4.9 KB checked in by pjkersha, 11 years ago (diff)
  • #1088 Important fix to AuthnRedirectResponseMiddleware? to set redirect ONLY when SSL client authentication has just succeeded in the upstream middleware AuthKitSSLAuthnMiddleware. This bug was causing the browser to redirect to the wrong place following OpenID sign in in the case where the user is already logged into their provider and selects a new relying party to sign into.
    • Improvements to Provider decide page interface: leave out messages about attributes that the provider can't retrieve for the RP. Also included NDG style help icon.
Line 
1<html xmlns="http://www.w3.org/1999/xhtml" 
2        xmlns:py="http://genshi.edgewall.org/"
3        xmlns:xi="http://www.w3.org/2001/XInclude">       
4    <head>
5        <xi:include href="base.html"/>
6            <replace py:replace="pagehead()"/>
7    </head>
8    <body>
9        <div id="main">
10            <div py:replace="header()"/>
11            <div id="decideFormContent"> 
12                <form method="POST" action="${c.urls['url_allow']}">
13                        <table>
14                                <input type="hidden" name="identity" value="$c.identityURI" />
15                                <tr>
16                                        <td>
17                                                The website <b>$c.oidRequest.trust_root</b> has requested
18                                                your OpenID for sign in:
19                                        </td>
20                                </tr>
21                                <tr>
22                                <td>
23                                        <div id="identityUriBox">$c.identityURI</div>
24                                </td>
25                        </tr>
26                                <tr py:if="len(axRequestedAttr) > 0">
27                                    <td>
28                                                This site has also requested some additional information:
29                                        <span>
30                                                <a href="javascript:;" title="Toggle help" onclick="toggleDiv(1,'axHelp','shown','hidden','div'); return false;">
31                                                        <img src="/layout/icons/help.png" alt="Toggle help" class="helpicon"/></a>
32                                        </span>
33                                        <div id="axHelp" class="hidden">
34                                                <div class="helptxt">
35                                                        <p>The site where you want to sign in has requested some additional
36                                                                information as well as your OpenID.  Review the list of items below.
37                                                                The righthand column, "Return Item to Requesting Site?" has a tick box
38                                                                assigned to each item.  By unticking a given box you can prevent the
39                                                                related item from being returned to the requested site.  However, for
40                                                                some items, the tick box may be disabled.  This indicates that the
41                                                                requesting site has marked this item as mandatory.  In this case,
42                                                                you can still choose the "No" button at the bottom off this form and
43                                                                cancel sign in to the given site.</p>
44                                                        <p>If you are otherwise happy to return the requested information,
45                                                                select the "Yes" button</p>
46                                                </div>
47                                        </div>                             
48                                        <table id="opAXRequestedAttributes">
49                                                <tr>
50                                                    <th>Item</th>
51                                                    <th>Value</th>
52                                                    <th>Return Item to Requesting Site?</th>
53                                                </tr>
54                                                <?python
55                                                        # Only get those attributes that it was possible to retrieve
56                                                        # values for
57                                                        requestedVals = [i for i in axRequestedAttr.values()
58                                                                         if axFetchResponse.getSingle(i.type_uri)]
59                                                ?>
60                                                <tr py:for="i in requestedVals">
61                                                                            <?python
62                                                                               # Disable checkbox if attribute is required and not optional
63                                                                               nameAttr = 'ax.%s' % i.alias
64                                                                               if i.required:
65                                                                                   inputAttr = {'disabled': 'disabled', 'checked': "checked"}
66                                                                               else:
67                                                                                   inputAttr = {'id': i.alias, 'name': nameAttr, 'value': i.type_uri}
68                                                                            ?>
69                                                                            <td>${i.alias or i.type_uri}</td>
70                                                        <td>${axFetchResponse.getSingle(i.type_uri)}</td>
71                                                                                <!-- hidden input is required to force the setting of disabled checkbox values -->
72                                                                                <td><input type="checkbox"  py:attrs="inputAttr"/>
73                                                                                <input py:if="i.required" type="hidden" value="${i.type_uri}" name="$nameAttr"/></td>
74                                                                        </tr> 
75                                                            </table>
76                                    </td>
77                                </tr>
78                                <tr>
79                                        <td>                                           
80                                                Would you like to pass your OpenID credential
81                                                information back to $c.oidRequest.trust_root and
82                                                return to this site? 
83                                        </td>
84                                </tr>
85                                <tr>
86                                        <td align="right">
87                                                <input type="submit" name="$c.APPROVE_RP_SUBMIT" value="Yes" />
88                                                <input type="submit" name="$c.REJECT_RP_SUBMIT" value="No" />
89                                        </td>
90                                </tr>
91                                <tr>
92                                        <td align="right">
93                                                <div py:if="c.oidRequest.trust_root not in c.session.get('approved', {})">
94                                                        <input type="checkbox" id="remember" name="remember" value="Yes"/>
95                                                        <label for="remember">Remember this decision for session duration</label>
96                                                </div>
97                                        </td>
98                                </tr>
99                        </table>
100                </form>
101            </div>
102            <div py:replace="footer()"/>
103        </div>
104    </body>
105</html>
Note: See TracBrowser for help on using the repository browser.