-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathyubikey-otp-wt.js
316 lines (265 loc) · 80.6 KB
/
yubikey-otp-wt.js
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
'use latest';
import express from 'express';
import {
fromExpress
} from 'webtask-tools';
import bodyParser from 'body-parser';
import request from 'request';
import qs from 'qs';
import jwt from 'jsonwebtoken';
import { without, findWhere } from 'underscore';
const app = express();
const AUDIENCE = "yubikeyOTPWithSelfRegistration";
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.get('/', (req, res) => {
jwt.verify(req.query.token, new Buffer(req.webtaskContext.secrets.token_signing_shared_secret, 'base64'), (err, decoded) => {
if (err) renderOtpView(decoded, req.query.token, req.query.state, res, [err]);
renderOtpView(decoded, req.query.token, req.query.state, res, null);
});
});
app.post('/', (req, res) => {
//check token
//check otp vs registered for user and register if less than 2 exist
jwt.verify(req.body.token, new Buffer(req.webtaskContext.secrets.token_signing_shared_secret, 'base64'), (err, decoded) => {
if (err) renderOtpView(decoded, req.body.token, req.body.state, res, [err]);
getOtherUsersUsingKey(decoded.sub,req.body.otp.substring(0, 12),req.webtaskContext,(error,users) => {
if(users.length > 0 ) renderOtpView(decoded, req.body.token, req.body.state, res, [new Error("Yubikey already in use. Your account allows use and registration of upto " + req.webtaskContext.secrets.allowed_yubikeys_per_user + " unique yubikey(s). You can not use a Yubikey being used by another user. Please contact support if you think this Yubikey is yours!")]);
else {
getUserById(decoded.sub, req.webtaskContext, (error, user) => {
if (error) renderOtpView(decoded, req.body.token, req.body.state, res, [error]);
user.app_metadata = user.app_metadata || [];
user.app_metadata.ybPublicIds = user.app_metadata.ybPublicIds || [];
if (user.app_metadata.ybPublicIds.length >= req.webtaskContext.secrets.allowed_yubikeys_per_user) {
//check for match
if (user.app_metadata.ybPublicIds.indexOf(req.body.otp.substring(0, 12)) > -1) {
yubico_validate(req.webtaskContext.secrets.yubikey_clientid, req.body.otp, function(err, resp) {
if (err) {
renderOtpView(decoded, req.body.token, req.body.state, res, [err]);
}
if (resp.status === 'OK') {
var token = jwt.sign({
status: resp.status
},
new Buffer(req.webtaskContext.secrets.token_signing_shared_secret, 'base64'), {
subject: decoded.sub,
expiresIn: 60,
audience: AUDIENCE,
issuer: req.webtaskContext.secrets.auth0_domain
});
res.writeHead(301, {
Location: req.webtaskContext.secrets.returnUrl + "?token=" + token + "&state=" + req.query.state
});
res.end();
} else {
return renderOtpView(decoded, req.body.token, req.body.state, res, [resp.status]);
}
});
} else renderOtpView(decoded, req.body.token, req.body.state, res, [new Error("Not a registered Yubikey. Your account allows use and registration of upto " + req.webtaskContext.secrets.allowed_yubikeys_per_user + " yubikey(s). Please contact support if you want to register this Yubikey!")]);
} else {
yubico_validate(req.webtaskContext.secrets.yubikey_clientid, req.body.otp, function(err, resp) {
if (err) renderOtpView(decoded, req.body.token, req.body.state, res, [err]);
if (resp.status === 'OK') {
var token = jwt.sign({
status: resp.status
},
new Buffer(req.webtaskContext.secrets.token_signing_shared_secret, 'base64'), {
subject: decoded.sub,
expiresIn: 60,
audience: AUDIENCE,
issuer: req.webtaskContext.secrets.auth0_domain
});
if (user.app_metadata.ybPublicIds.indexOf(req.body.otp.substring(0, 12)) < 0) {
user.app_metadata.ybPublicIds[user.app_metadata.ybPublicIds.length] = req.body.otp.substring(0, 12);
updateUserAppMetadata(decoded.sub, user.app_metadata, req.webtaskContext, (error, updatedUser) => {
if (error) renderOtpView(decoded, req.body.token, req.body.state, res, [new Error("Error while registering the Yubikey Public ID. Please try to login again!")]);
res.writeHead(301, {
Location: req.webtaskContext.secrets.returnUrl + "?token=" + token + "&state=" + req.query.state
});
res.end();
});
} else {
res.writeHead(301, {
Location: req.webtaskContext.secrets.returnUrl + "?token=" + token + "&state=" + req.query.state
});
res.end();
}
} else return renderOtpView(decoded, req.body.token, req.body.state, res, [resp.status]);
});
}
});
}
});
});
});
module.exports = fromExpress(app);
function yubico_validate(clientId, otp, done) {
var params = {
id: clientId,
otp: otp,
nonce: uid(16)
};
request.get('https://api.yubico.com/wsapi/2.0/verify', {
qs: params
}, function(e, r, b) {
if (e) {
return done(e);
}
if (r.statusCode !== 200) {
return done(new Error('Error: ' + r.statusCode));
}
var yubico_response = qs.parse(b.replace(/\r\n/g, '&'));
if (yubico_response.nonce !== params.nonce) {
return done(new Error('Invalid response - nonce doesn\'t match'));
}
done(null, yubico_response);
});
}
function uid(len) {
var buf = [],
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
charlen = chars.length;
for (var i = 0; i < len; ++i) {
buf.push(chars[getRandomInt(0, charlen - 1)]);
}
return buf.join('');
}
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function renderOtpView(decoded, token, state, res, errors) {
res.writeHead(200, {
'Content-Type': 'text/html'
});
res.end(require('ejs').render(otpForm.toString().match(/[^]*\/\*([^]*)\*\/\s*\}$/)[1], {
user: (decoded && decoded.email) || "",
errors: errors || [],
token: token,
state: state
}));
}
function otpForm() {
/*
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<title>Auth0 - Yubikey MFA</title>
<style>.modal .body input,body,html{font-family:avenir-next-web,Avenir,"Helvetica Neue",Hevetica,sans-serif;width:100%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}a,a:active,a:hover,a:visited,button,button:active,button:hover,button:visited{outline:0}@import url(http://fast.fonts.net/t/1.css?apiType=css&projectid=857b99c8-12c9-4d60-85ee-16ebd935d187);@font-face{font-family:avenir-next-web_n2;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/5db267f9-3612-485c-ae18-5698d2692816.eot?#iefix) format("eot")}@font-face{font-family:avenir-next-web;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/5db267f9-3612-485c-ae18-5698d2692816.eot?#iefix);src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/5db267f9-3612-485c-ae18-5698d2692816.eot?#iefix) format("eot"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/174d458a-81e0-4174-9473-35e3bf0a613c.woff2) format("woff2"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/57a79aa3-9b06-4ba7-a9a4-2b766d826ecf.woff) format("woff"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/733cb7bd-50e1-4dee-893a-0b40ef382b02.ttf) format("truetype"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/594135c6-6c4f-4880-a0d2-ba923b5ef38e.svg#594135c6-6c4f-4880-a0d2-ba923b5ef38e) format("svg");font-weight:200;font-style:normal}@font-face{font-family:avenir-next-web_i2;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/9e4f77ac-2ea3-4f4e-b592-290f5c4af932.eot?#iefix) format("eot")}@font-face{font-family:avenir-next-web;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/9e4f77ac-2ea3-4f4e-b592-290f5c4af932.eot?#iefix);src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/9e4f77ac-2ea3-4f4e-b592-290f5c4af932.eot?#iefix) format("eot"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/69a545eb-cdd0-4c00-9035-0029d8cede28.woff2) format("woff2"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/642cb581-067a-4f15-9df9-55c49c6b5446.woff) format("woff"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/972d8132-0f21-4d94-b42d-8f4022e6aa17.ttf) format("truetype"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/670d40f3-affd-4e16-8ad8-055f11470e24.svg#670d40f3-affd-4e16-8ad8-055f11470e24) format("svg");font-weight:200;font-style:italic}@font-face{font-family:avenir-next-web_n4;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/069faa0e-9913-48c4-9ef7-89a4bc080b65.eot?#iefix) format("eot")}@font-face{font-family:avenir-next-web;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/069faa0e-9913-48c4-9ef7-89a4bc080b65.eot?#iefix);src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/069faa0e-9913-48c4-9ef7-89a4bc080b65.eot?#iefix) format("eot"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/7db1f672-3a8f-4d19-9c49-7f61aed450b5.woff2) format("woff2"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/4ab86b35-c0c2-42b5-98ad-4b6eba66b197.woff) format("woff"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/276b3566-1c3b-4bc1-8915-15314f091f29.ttf) format("truetype"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/5d02f5f4-46e7-453a-aef9-3e7106d7bb68.svg#5d02f5f4-46e7-453a-aef9-3e7106d7bb68) format("svg");font-weight:400;font-style:normal}@font-face{font-family:avenir-next-web_i4;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/78f55966-cc8e-4f4c-bf8b-8fe59be9fe96.eot?#iefix) format("eot")}@font-face{font-family:avenir-next-web;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/78f55966-cc8e-4f4c-bf8b-8fe59be9fe96.eot?#iefix);src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/78f55966-cc8e-4f4c-bf8b-8fe59be9fe96.eot?#iefix) format("eot"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/b17468ea-cf53-4635-984b-4d930a68ed4d.woff2) format("woff2"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/4d1d0d0d-9ea6-4117-901f-8b32ca1ab936.woff) format("woff"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/66b50093-e606-427c-a42a-a44b2f9ff219.ttf) format("truetype"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/78695677-7ebb-4ef8-8996-eff09dc64f26.svg#78695677-7ebb-4ef8-8996-eff09dc64f26) format("svg");font-weight:400;font-style:italic}@font-face{font-family:avenir-next-web_n5;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/c6970a14-8b0f-4629-9072-71c7e123908f.eot?#iefix) format("eot")}@font-face{font-family:avenir-next-web;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/c6970a14-8b0f-4629-9072-71c7e123908f.eot?#iefix);src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/c6970a14-8b0f-4629-9072-71c7e123908f.eot?#iefix) format("eot"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6.woff2) format("woff2"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f.woff) format("woff"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/ead8b64b-1abd-4d5b-a642-a21dfe2f463b.ttf) format("truetype"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/e536e1c2-92a4-4db4-8a41-1c55354d11b7.svg#e536e1c2-92a4-4db4-8a41-1c55354d11b7) format("svg");font-weight:700;font-style:normal}@font-face{font-family:avenir-next-web_i5;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/1f022c78-180e-4c6b-b5ee-e1573f17e4b6.eot?#iefix) format("eot")}@font-face{font-family:avenir-next-web;src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/1f022c78-180e-4c6b-b5ee-e1573f17e4b6.eot?#iefix);src:url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/1f022c78-180e-4c6b-b5ee-e1573f17e4b6.eot?#iefix) format("eot"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/349e5647-5161-46bb-a19f-8a609ae235e4.woff2) format("woff2"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/cc0a88c2-524b-4c90-b6f0-a80570222c30.woff) format("woff"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/03aefdc0-0198-4662-a9c7-640a4734063e.ttf) format("truetype"),url(https://cdn.auth0.com/styleguide/latest/lib/font/avenir-next/fonts/132a539d-37fa-48fb-92ec-1f4591f98ee1.svg#132a539d-37fa-48fb-92ec-1f4591f98ee1) format("svg");font-weight:700;font-style:italic}@font-face{font-family:budicon-font;src:url(https://cdn.auth0.com/fonts/budicons/fonts/budicon-font.eot);src:url(https://cdn.auth0.com/fonts/budicons/fonts/budicon-font.eot?#iefix) format("embedded-opentype"),url(https://cdn.auth0.com/fonts/budicons/fonts/budicon-font.woff) format("woff"),url(https://cdn.auth0.com/fonts/budicons/fonts/budicon-font.ttf) format("truetype"),url(https://cdn.auth0.com/fonts/budicons/fonts/budicon-font.svg#budicon-font) format("svg");font-weight:400;font-style:normal}body,html{height:100%;margin:0;padding:0;font-size:62.5%;min-height:100%;background-color:#222228;z-index:1}.modal .body input{border:none;font-size:13px;outline:0}.modal-wrapper{width:100%;height:100%;display:table;background-color:rgba(0,0,0,.15);z-index:2;-webkit-animation:fadein 1s;-moz-animation:fadein 1s;-ms-animation:fadein 1s;-o-animation:fadein 1s;animation:fadein 1s}.modal-centrix{padding:0;vertical-align:middle;display:table-cell;margin:0}.modal{width:100%;max-width:300px;z-index:3;border-radius:0;box-shadow:0 2px 4px rgba(0,0,0,.5);margin:auto}.modal .head{background:#efefef;background:-moz-linear-gradient(left,#efefef 0,#fefefe 50%,#efefef 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,#efefef),color-stop(50%,#fefefe),color-stop(100%,#efefef));background:-webkit-linear-gradient(left,#efefef 0,#fefefe 50%,#efefef 100%);background:-o-linear-gradient(left,#efefef 0,#fefefe 50%,#efefef 100%);background:-ms-linear-gradient(left,#efefef 0,#fefefe 50%,#efefef 100%);background:linear-gradient(to right,#efefef 0,#fefefe 50%,#efefef 100%);text-align:center;height:132px}.modal .head .logo{display:inline-block;margin:20px auto 0;width:53px}.modal .head .first-line{display:block;line-height:30px;height:30px;margin:15px 0 0;font-size:22px;color:#333}@media (min-width:414px){.modal{border-radius:5px;top:calc(50% + 40px)}.modal .head{border-radius:5px 5px 0 0}.modal .head .first-line{margin:9px 0 0}}.modal .head .second-line{display:block;line-height:16px;height:16px;margin:3px 0 21px;font-size:12px;color:#000;text-transform:uppercase}.modal .errors{text-align:center;background-color:#f04848;color:#fff;line-height:1.6;font-size:12px;padding:10px}.modal .errors p{margin:0}.modal .errors.hidden{display:none}.modal .body{background-color:#fff;padding:30px;overflow:hidden}.modal .body .description{display:block;max-width:290px;font-size:13px;line-height:1.8;color:rgba(0,0,0,.56);text-align:center;margin-bottom:20px}.modal .body .description:last-child{margin-bottom:0}.modal .body .description .input-wrapper{display:block;border-radius:3px;border:1px solid #f1f1f1;position:relative;width:100%;height:40px;margin:0}.modal .body .description .input-wrapper:before{position:absolute;background:#f1f1f1;top:0;left:0;bottom:0;width:40px;text-align:center;line-height:40px}[class*=" icon-"]:before,[class^=icon-]:before,[data-icon]:before{font-family:budicon-font!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.modal .body .description .input-wrapper input{padding-left:50px;height:38px}.modal .ok-cancel{display:block;width:100%;overflow:hidden}.modal .ok-cancel button{height:70px;vertical-align:middle;width:50%;float:left;border:0;padding:0;text-align:center;cursor:pointer}.modal .ok-cancel button.ok{background-color:#8EC448}.modal .ok-cancel button.ok:hover{background-color:#74A03A;-webkit-transition:background .3s ease;transition:background .3s ease}.modal .ok-cancel button.ok.full-width{width:100%}.modal .ok-cancel button.cancel{background-color:#5c666f}@media (min-width:414px){.modal .body .description{max-width:348px}.modal .ok-cancel button.ok{border-radius:0 0 5px}.modal .ok-cancel button.ok.full-width{border-radius:0 0 5px 5px}.modal .ok-cancel button.cancel{border-radius:0 0 0 5px}}[data-icon]:before{content:attr(data-icon)}.icon-budicon-285:before{content:""}.icon-budicon-377:before{content:""}.icon-budicon-509:before{content:""}.icon-budicon-460:before{content:""}.custom-select{display:inline-block;vertical-align:top;position:relative;border-radius:3px;height:32px;line-height:32px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:1.6rem;padding-right:28px}.custom-select:hover{color:#333}.custom-select i{font-size:12px;position:absolute;top:3px;right:9px;opacity:.7;animation:none}.custom-select span{color:#000;border-bottom:1px solid #6b6b6b;padding-bottom:1px;text-transform:uppercase}.custom-select select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}@-ms-keyframes fadein{from{opacity:0}to{opacity:1}}.auth0-spinner{position:relative}.auth0-spinner:before{content:"";background:url(data:image/png;base64,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) center center no-repeat;height:15px;width:15px;background-size:contain;display:inline-block;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute}.auth0-spinner .icon{display:none}.auth0-spinner .spinner{margin:0 auto;top:0;position:relative;text-indent:-9999em;border-width:2px;border-style:solid;border-color:rgba(255,255,255,.4) rgba(255,255,255,.4) rgba(255,255,255,.2) rgba(255,255,255,.2);-webkit-animation:loaderAnim .8s infinite linear;animation:loaderAnim .8s infinite linear}.auth0-spinner .spinner,.auth0-spinner .spinner:after{border-radius:50%;width:40px;height:40px}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes loaderAnim{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loaderAnim{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loaderAnim{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loaderAnim{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}</style>
</head>
<body>
<div class="modal-wrapper">
<div class="modal-centrix">
<div class="modal">
<form onsubmit="showSpinner();" action="" method="POST" enctype="application/x-www-form-urlencoded">
<div class="head">
<svg class="logo" viewBox="0 0 426 426" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<image id="yubico" sketch:type="MSBitmapLayer" x="0" y="0" width="426" height="426" xlink:href="data:image/png;base64,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"></image>
</g>
</svg>
<span class="first-line">Yubikey 2FA</span>
</div>
<div class="errors <%- (errors.length === 0 ? 'hidden' : '') %>">
<% errors.forEach(function(error){ %>
<div class="p"><%= error %></div>
<%})%>
</div>
<div class="body">
<span class="description">Hi <strong><%- user || "" %></strong>, please tap your Yubikey.</span>
<span class="description domain">
<span class="input-wrapper icon-budicon-285">
<input type="text" autocomplete="off" name="otp" required autofocus id="otp" placeholder="Yubikey OTP">
</span>
</span>
</div>
<div id="ok-button" class="ok-cancel">
<button class="ok full-width">
<span class="icon"><svg width="43px" height="42px" viewBox="0 0 43 42" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage"><g id="Lock" sketch:type="MSArtboardGroup" transform="translate(-280.000000, -3592.000000)"><g id="SMS" sketch:type="MSLayerGroup" transform="translate(153.000000, 3207.000000)"><g id="Group" sketch:type="MSShapeGroup"><g id="Login" transform="translate(0.000000, 369.000000)"><g id="Btn"><g id="Oval-302-+-Shape" transform="translate(128.000000, 17.000000)"><circle id="Oval-302" stroke="#FFFFFF" stroke-width="2" cx="20.5" cy="20" r="20"></circle><path d="M17.8,15.4 L19.2,14 L25.2,20 L19.2,26 L17.8,24.6 L22.4,20 L17.8,15.4 Z" id="Shape" fill="#FFFFFF"></path></g></g></g></g></g></g></g></svg></span>
<div class="spinner"></div>
</button>
</div>
<input type="hidden" name="token" value="<%- token %>" />
<input type="hidden" name="state" value="<%- state %>" />
</form>
</div>
</div>
<script>
function showSpinner() {
document.getElementById('ok-button').className += " auth0-spinner";
}
</script>
</div>
</body>
</html>
*/
}
var updateUserAppMetadata = (userid, data, webtaskContext, cb) => {
var tools = require('auth0-extension-tools');
tools.managementApi.getClient({
domain: webtaskContext.secrets.auth0_domain,
clientId: webtaskContext.secrets.management_api_client_id,
clientSecret: webtaskContext.secrets.management_api_client_secret
})
.then(function(client) {
client.users.updateAppMetadata({
id: userid
}, data, (error, user) => {
if (error) {
console.log(error);
cb(error);
} else {
cb(null, user);
}
})
}).catch(function(error) {
console.log(error);
cb(error);
});
}
var getUserById = (userid, webtaskContext, cb) => {
var tools = require('auth0-extension-tools');
tools.managementApi.getClient({
domain: webtaskContext.secrets.auth0_domain,
clientId: webtaskContext.secrets.management_api_client_id,
clientSecret: webtaskContext.secrets.management_api_client_secret
})
.then(function(client) {
client.users.get({
id: userid
}, (error, user) => {
if (error) {
console.log(error);
cb(error);
} else {
cb(null, user);
}
})
}).catch(function(error) {
console.log(error);
cb(error);
});
}
var getOtherUsersUsingKey = (userId,key,webtaskContext,cb) => {
var tools = require('auth0-extension-tools');
var _ = require("underscore");
tools.managementApi.getClient({
domain: webtaskContext.secrets.auth0_domain,
clientId: webtaskContext.secrets.management_api_client_id,
clientSecret: webtaskContext.secrets.management_api_client_secret
})
.then(function(client) {
client.getUsers({q: 'app_metadata.ybPublicIds:"' + key + '"'}).then((users) => {
users = without(users, findWhere(users, {
user_id: userId
}));
cb(null, users)
})
}).catch(function(error) {
console.log(error);
cb(error);
});
}