-
Notifications
You must be signed in to change notification settings - Fork 555
/
Copy pathindex.html
173 lines (170 loc) · 5.36 KB
/
index.html
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<!DOCTYPE html>
<html>
<title>Dev</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
<link rel="stylesheet" href="https://cdn.auth0.com/styleguide/core/2.0.5/core.min.css" />
<link rel="stylesheet" href="https://cdn.auth0.com/styleguide/components/2.0.0/components.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.6.0/themes/prism-okaidia.min.css" />
<body>
<header class="site-header">
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<h1 class="navbar-brand">
<a href="https://auth0.com">
<span>Auth0</span>
</a>
</h1>
</div>
</div>
</nav>
</header>
<main class="container">
<div class="row">
<div class="col-sm-12">
<div id="btn-show-lock" class="btn btn-default">Show Lock</div>
<div id="btn-show-passwordless" class="btn btn-default">Show Lock+Passwordless</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-12">
<div id="btn-clear-log" class="btn btn-danger">Clear logs</div>
</div>
<div class="col-sm-12" style="margin-top: 10px; max-height: 800px; overflow: auto;">
<pre>
<code id="logger" class="language-js"></code>
</pre>
</div>
</div>
</main>
<script src="https://unpkg.com/jquery@3.2.1/dist/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.6.0/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.6.0/components/prism-javascript.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.6.0/plugins/normalize-whitespace/prism-normalize-whitespace.min.js"></script>
<script src="/build/lock.js"></script>
<script id="helper-scripts">
//this is not related to Auth0. It's just here to make the page work correctly.
Prism.plugins.NormalizeWhitespace.setDefaults({
'remove-trailing': true,
'remove-indent': true,
'left-trim': true,
'right-trim': true,
});
var logs = [];
if (window.localStorage.auth0logs) {
logs = JSON.parse(window.localStorage.auth0logs);
}
function printLogs() {
window.localStorage.auth0logs = JSON.stringify(logs);
var code = '';
logs.forEach(function (l) {
code += '\r\n' + JSON.stringify(l, null, 1);
});
var html = Prism.highlight(code, Prism.languages.javascript);
$('#logger').html(html);
}
function clearLogs() {
logs = [];
window.localStorage.removeItem('auth0logs');
printLogs();
}
function subscribeToEvents(instance) {
var validEvents = [
'show',
'hide',
'unrecoverable_error',
'authenticated',
'authorization_error',
'hash_parsed',
'signin ready',
'signup ready',
'forgot_password ready',
'socialOrPhoneNumber ready',
'socialOrEmail ready',
'vcode ready',
'forgot_password submit',
'signin submit',
'signup submit',
'socialOrPhoneNumber submit',
'socialOrEmail submit',
'vcode submit',
'federated login'
];
validEvents.forEach(function (e) {
instance.on(e, function () {
var args = arguments;
if (arguments.length === 1) {
args = arguments[0];
}
logs.push({ event: e, arguments: args });
printLogs();
});
});
}
$('#btn-clear-log').on('click', clearLogs);
$(function () {
printLogs();
});
</script>
<script>
const clientId = "BWDP9XS89CJq1w6Nzq7iFOHsTh6ChS2b";
const domain = "brucke.auth0.com";
const defaultOptions = {
allowShowPassword: true,
usernameStyle: 'email',
defaultDatabaseConnection: 'acme',
prefill: {
email: 'johnfoo@gmail.com',
phoneNumber: '48999999999'
},
passwordlessMethod: 'code',
allowedConnections: ['email', 'acme', 'twitter']
};
function initLock() {
var lock = new Auth0Lock(clientId, domain, defaultOptions);
window.localStorage.lastUsed = 'lock'
subscribeToEvents(lock);
return lock;
}
function initPasswordless() {
var lockPasswordless = new Auth0LockPasswordless(clientId, domain, defaultOptions);
window.localStorage.lastUsed = 'passwordless'
subscribeToEvents(lockPasswordless);
return lockPasswordless;
}
$(function () {
$('#btn-show-lock').on('click', function () {
clearLogs();
var lock = initLock();
lock.show({
languageDictionary: {
title: 'Lock',
}
});
});
$('#btn-show-passwordless').on('click', function () {
clearLogs();
var lockPasswordless = initPasswordless();
lockPasswordless.show({
languageDictionary: {
title: 'Passwordless',
}
});
});
//make sure we initialize Lock so we can parse the hash
var lastUsed = window.localStorage.lastUsed;
if (!lastUsed) {
return;
}
if (lastUsed === 'lock') {
initLock();
} else {
initPasswordless();
}
window.localStorage.removeItem('lastUsed');
});
</script>
</body>
</html>