146 lines
5.4 KiB
HTML
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>
|