2020-12-05 21:24:12 -07:00

146 lines
5.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Pocket ID Example</title>
</head>
<body>
<center>
<div><button class="signin">Sign in</button></div>
<div><button class="status">Check Pocket Status</button></div>
<div><button class="token">Check Pocket Token</button></div>
<div><button class="refresh">Refresh Token</button></div>
<div><button class="user">Check User</button></div>
</center>
<div class="pocket"></div>
<script src="https://beta.pocketid.app/consumer.js"></script>
<script>
var token = null;
var userToken = null;
Pocket.init({
providers: ["email", "password", "google"],
});
document
.querySelector("button.signin")
.addEventListener("click", function (ev) {
ev.stopPropagation();
ev.preventDefault();
// TODO promise and reject signin
Pocket.openSignin();
Pocket.onToken(function (_token) {
token = _token;
window.alert("Signin success with token: " + token);
});
});
document
.querySelector("button.status")
.addEventListener("click", function (ev) {
ev.stopPropagation();
ev.preventDefault();
var baseurl = location.origin;
window
.fetch(baseurl + "/api/public/info", {
headers: {
Authorization: "Bearer " + token,
},
})
.then(function (resp) {
return resp.json();
})
.then(function (body) {
window.alert(
"Status: " + JSON.stringify(body, null, 2)
);
})
.catch(function (err) {
window.alert("Status error: " + err.message);
});
});
document
.querySelector("button.token")
.addEventListener("click", function (ev) {
ev.stopPropagation();
ev.preventDefault();
var baseurl = location.origin;
window
.fetch(baseurl + "/api/auth/info", {
headers: {
Authorization: "Bearer " + token,
},
})
.then(function (resp) {
return resp.json();
})
.then(function (body) {
window.alert(
"Status: " + JSON.stringify(body, null, 2)
);
})
.catch(function (err) {
window.alert("Status error: " + err.message);
});
});
document
.querySelector("button.refresh")
.addEventListener("click", function (ev) {
ev.stopPropagation();
ev.preventDefault();
var baseurl = location.origin;
window
.fetch(baseurl + "/api/refresh-token", {
headers: {
Authorization: "Bearer " + token,
},
})
.then(function (resp) {
return resp.json();
})
.then(function (body) {
window.alert(
"Refresh: " + JSON.stringify(body, null, 2)
);
userToken = body.result.access_token;
})
.catch(function (err) {
window.alert("Refresh error: " + err.message);
});
});
document
.querySelector("button.user")
.addEventListener("click", function (ev) {
ev.stopPropagation();
ev.preventDefault();
var baseurl = location.origin;
window
.fetch(baseurl + "/api/user/info", {
headers: {
Authorization: "Bearer " + userToken,
},
})
.then(function (resp) {
return resp.json();
})
.then(function (body) {
window.alert(
"Status: " + JSON.stringify(body, null, 2)
);
})
.catch(function (err) {
window.alert("Status error: " + err.message);
});
});
</script>
</body>
</html>