Google Auth2 REST API: как получить успешный / неудачный обратный вызов для запроса `revoke` - PullRequest
0 голосов
/ 20 апреля 2020

Начиная с Конечная точка 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();  
 }

1 Ответ

0 голосов
/ 21 апреля 2020

Просто знайте, если запрос success из fail делает это:

  await fetch(authSetting.revoke_endpoint, {
        method: 'POST',
        mode: 'no-cors',
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        body: `token=${payload.access_token}`
    });

в режиме no-cors, пропустите запрос go, но скрыте ответ. но вы все еще знаете, если это success из fail. Префект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...