Тъй като крайната точка OAuth 2.0 на Google за отмяна на токени не поддържа CORS и заявката трябва да бъде направена от POST
, те предлагат да използвате формуляр и да го изпратите до крайната точка, вместо да използвате метода Ajax
за публикуване на заявката.
Състояние на OAuth 2.0 за клиентски уеб приложения / отмяна на документи :
Ако извикването е успешно, тогава кодът на състоянието на отговора ще бъде 200. За състояния на грешка HTTP кодът на състоянието ще бъде 400.
Но след това, като използвам само js на уеб-клиент как да определя дали заявката е успешна или неуспешна?
Опитвам се да заредя резултата в изскачащи прозорци, но тъй като той използва различен произход, има проблем с CORS. и съдържанието не може да бъде достъпно от JS, нито да слуша за load
или error
събития.
Или като цяло, как да направите POST заявка до неподдържан източник на CORS и да разберете дали е успешна или неуспешна
function revokeAccess(accessToken) {
// Google's OAuth 2.0 endpoint for revoking access tokens.
var revokeTokenEndpoint = 'https://oauth2.googleapis.com/revoke';
// Create <form> element to use to POST data to the OAuth 2.0 endpoint.
var form = document.createElement('form');
form.method = method;
form.action = src;
form.target = 'oauthWindow';
for (let k in obj) {
var tokenField = document.createElement('input');
tokenField.type = 'hidden';
tokenField.name = k;
tokenField.value = obj[k];
form.appendChild(tokenField);
}
document.body.appendChild(form);
form.submit();
}