-
Notifications
You must be signed in to change notification settings - Fork 492
/
login.html
146 lines (128 loc) · 4.23 KB
/
login.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Auth0 Login Callback demo</title>
<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"
/>
</head>
<body>
<button id="login">Log in</button>
<button id="authorize">Log in (ULP)</button>
<button id="pwd-start">Passwordless Start</button>
<button id="pwd-verify">Passwordless Verify</button>
<button id="logout">Log out</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/latest/js.cookie.min.js"></script>
<script src="/auth0.js"></script>
<script src="/cordova-auth0-plugin.js"></script>
<script type="application/javascript">
const loginButton = document.getElementById('login');
const authButton = document.getElementById('authorize');
const pwdStartButton = document.getElementById('pwd-start');
const pwdVerifyButton = document.getElementById('pwd-verify');
const logoutButton = document.getElementById('logout');
const options = {
domain: 'brucke.auth0.com',
clientID: 'k5u3o2fiAA8XweXEEX604KCwCjzjtMU6',
redirectUri: 'http://localhost:3000/login.html',
responseType: 'id_token'
};
var passwordlessEmail;
authButton.addEventListener('click', () => {
const webAuth = new auth0.WebAuth(options);
webAuth.authorize({
responseType: 'id_token'
});
});
loginButton.addEventListener('click', () => {
const webAuth = new auth0.WebAuth(options);
webAuth.login(
{
responseType: 'id_token',
username: 'johnfoo@gmail.com',
password: '1234',
realm: 'acme',
onRedirecting: function(done) {
console.log('On redirecting..');
done();
}
},
function(err) {
console.error(err);
}
);
});
pwdStartButton.addEventListener('click', () => {
const webAuth = new auth0.WebAuth({
...options,
responseType: 'id_token token'
});
const email = prompt('Enter your email address');
if (email) {
webAuth.passwordlessStart(
{
connection: 'email',
send: 'code',
email
},
(err, result) => {
if (err) return console.error(err);
console.log(result);
passwordlessEmail = email;
alert('Done! Check your email');
}
);
}
});
pwdVerifyButton.addEventListener('click', () => {
const webAuth = new auth0.WebAuth({
...options,
responseType: 'id_token token'
});
const verificationCode = prompt('Enter the code');
if (!passwordlessEmail) {
passwordlessEmail = prompt(
'Enter the email address to which the code was sent'
);
}
if (verificationCode) {
webAuth.passwordlessLogin(
{
connection: 'email',
verificationCode,
email: passwordlessEmail,
onRedirecting: done => {
console.log('Redirecting passwordless...');
done();
}
},
(err, res) => {
if (err) console.error(err);
console.log(res);
}
);
}
});
logoutButton.addEventListener('click', () => {
const webAuth = new auth0.WebAuth(options);
webAuth.logout({ returnTo: 'http://localhost:3000/login.html' });
});
window.onload = function() {
const webAuth = new auth0.WebAuth(options);
webAuth.parseHash((err, data) => {
console.log(data);
window.location.hash = '';
});
};
</script>
</body>
</html>