Начиная с Конечная точка Google OAuth 2.0 для отзыва токенов не поддерживает CORS, и запрос должен быть сделан POST
, они предлагают использовать форму и отправляют ее в конечную точку, а не Ajax
способ отправки запроса.
В OAuth 2.0 для клиентских веб-приложений / revoke запись:
Если вызов успешно, то код состояния ответа будет 200. Для При возникновении ошибки код состояния HTTP будет 400.
Но затем, используя js на веб-клиенте , как определить, является ли запрос успешным или неудачным ?
Я пытаюсь загрузить результат во всплывающее окно windows Но поскольку он использует другое происхождение, возникает проблема с 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();
}