我试图在我的api中使用ouath,我做了一个获取令牌的表格。现在,我需要在登录后将用户重定向到页面,并在每个页面中验证令牌是否存在并且有效。
function login() {
var name = document.getElementById('email').value;
var senha = document.getElementById('password').value;
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://localhost:44390/token', true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
var result = JSON.parse(this.responseText);
console.log(`${result.token_type} ${result.access_token}`);
sessionStorage.setItem("token", `${result.token_type} ${result.access_token}`);
verifica();
}
xhr.send(`grant_type=password&username=${name}&password=${senha}`);
}
function verifica() {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://localhost:44390/api/home', true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.setRequestHeader('Authorization', `${sessionStorage.getItem('token')}`);
xhr.onload = function() {
var result = JSON.parse(this.responseText);
console.log(`${result}`);
}
xhr.send();
}
重定向用户后,api将验证令牌是否存在,如果不存在,则用户将被重定向回登录页面