summaryrefslogtreecommitdiffstats
path: root/extensions/BrowserID/template/en/default/hook/account/auth/login-additional_methods.html.tmpl
blob: 3a0ecb1ccb3bfa7b8b2d1020f00b83804f0e4dc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[% IF Param('user_info_class').split(',').contains('BrowserID') %]

[% USE Bugzilla %]
[% cgi = Bugzilla.cgi %]

<script src="https://browserid.org/include.js" type="text/javascript"></script>

<script type="text/javascript">
function createHidden(name, value, form) {
    var field = document.createElement('input');
    field.type = 'hidden';
    field.name = name;
    field.value = value;;
    form.appendChild(field);
}

function browserid_sign_in() {
    navigator.id.getVerifiedEmail(function(assertion) {
        if (assertion) {
            // This code will be invoked once the user has successfully
            // selected an email address they control to sign in with.
            var form = document.createElement('form');
            form.action = '[% target FILTER js %]';
            form.method = 'POST';
            form.style.display = 'none';

            createHidden('token', '[% issue_hash_token(['login']) FILTER js %]', form);
            createHidden('Bugzilla_remember', 'on', form);
            createHidden('browserid_assertion', assertion, form);

            [% FOREACH field = cgi.param() %]
              [% NEXT IF field.search("^(Bugzilla_(login|password|restrictlogin)|token|browserid_assertion)$") %]
              [% FOREACH mvalue = cgi.param(field).slice(0) %]
                createHidden('[% field FILTER js %]',
                             '[% mvalue FILTER html_linebreak FILTER js %]',
                             form);
              [% END %]
            [% END %]

            document.body.appendChild(form);
            form.submit();
            return true;
        }
    });
}
</script>

<p>
Or, log in with BrowserID: 
<img src="extensions/BrowserID/web/sign_in_orange.png" onclick="browserid_sign_in()">
</p>
[% END %]