source: TI12-security/trunk/NDGSecurity/python/ndg_security_server/ndg/security/server/paster_templates/openidprovider/templates/decide.html @ 7817

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI12-security/trunk/NDGSecurity/python/ndg_security_server/ndg/security/server/paster_templates/openidprovider/templates/decide.html@7817
Revision 7817, 7.0 KB checked in by pjkersha, 9 years ago (diff)

Incomplete - task 16: NDG Security 2.x.x - incl. updated Paster templates

  • major progress on independent OpenID Provider template. Requires some fixes to Yadis templates to complete.
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                                                <span>
84                                                        <a href="javascript:;" title="Toggle help" onclick="toggleDiv(1,'approvalHelp','shown','hidden','div'); return false;">
85                                                                <img src="/layout/icons/help.png" alt="Toggle help" class="helpicon"/></a>
86                                                </span>
87                                                <div id="approvalHelp" class="hidden">
88                                                        <div class="helptxt">
89                                                                <p>You are logged in to this your home site but you
90                                                                        have not yet returned your OpenID to the site
91                                                                        requesting it, ${c.oidRequest.trust_root} so that
92                                                                        you are signed in there.  Selecting "Yes" will
93                                                                        complete the sign in process redirecting your browser
94                                                                        to the requesting site and returning your OpenID,
95                                                                        $c.identityURI and any other personal details listed
96                                                                        above.
97                                                                </p>
98                                                                <p>
99                                                                        Select "No" to cancel this process.  You will remain
100                                                                        logged in here at this your OpenID Provider site but
101                                                                        none of your details will not be passed back to the
102                                                                        requesting site ${c.oidRequest.trust_root}.
103                                                                </p>
104                                                                <p>
105                                                                        If you select the tickbox,
106                                                                        "Remember this decision for session duration" this
107                                                                        page will be skipped the next time you sign into
108                                                                        ${c.oidRequest.trust_root}. Note that this decision
109                                                                        is only remembered for as long as you are logged in here.
110                                                                        In some circumstances you will still be prompted with this
111                                                                        page regardless.  This is the case if you didn't enter your
112                                                                        full OpenID to sign in. e.g. if you entered your home
113                                                                        institution URL, https://myorganisation.somewhere/
114                                                                        instead of your full OpenID,
115                                                                        https://myorganisation.somewhere/my.name/                                                                       
116                                                                </p>
117                                                        </div>
118                                                </div>                             
119                                        </td>
120                                </tr>
121                                <tr>
122                                        <td align="right">
123                                                <input type="submit" name="$c.APPROVE_RP_SUBMIT" value="Yes" />
124                                                <input type="submit" name="$c.REJECT_RP_SUBMIT" value="No" />
125                                        </td>
126                                </tr>
127                                <tr>
128                                        <td align="right">
129                                                <div py:if="c.oidRequest.trust_root not in c.session.get('approved', {})">
130                                                        <input type="checkbox" id="remember" name="remember" value="Yes"/>
131                                                        <label for="remember">Remember this decision for session duration</label>
132                                                </div>
133                                        </td>
134                                </tr>
135                        </table>
136                </form>
137            </div>
138            <div py:replace="footer()"/>
139        </div>
140    </body>
141</html>
Note: See TracBrowser for help on using the repository browser.