В какой момент я должен создать код авторизации? - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь создать сервер OAuth 2.0 самостоятельно.(Я не хочу использовать никаких OAuth-провайдеров)

И я действительно не понимаю, когда мне нужно генерировать код авторизации.


У меня есть сервер OAuth 2.0 иТестовый сервер (на котором есть кнопка «Войти с помощью»)

Когда я нажимаю «Войти с именем моей компании» на тестовом сервере, он перенаправляет меня на:

https://oauthserver.com/v1/oauth/authorize?client_id=[[id]]&scope=read&response_type=code&redirect_uri=https://testserver.com/callback (адреса не являются реальными, просто для примера)

(я не создаю всплывающее окно, я использую перенаправление)

В данный момент мой сервер OAuth проверяетвсе параметры запроса, и если все в порядке, сервер возвращает HTML-документ с 2 кнопками (подтвердить и отклонить)

Когда пользователь нажимает «Подтвердить», я должен отправить браузер пользователя на URI перенаправления с кодом authorization_code. Но в какой момент мне нужно сгенерировать этот код , так как я уже отправил html-документ?

Я подумал, что должен сделать запрос GET на какую-нибудь ссылку, когда пользователь нажимает "«Подтвердите», и когда приходят данные, я просто использую window.location.replace (код ниже)

const url = "some url where auth code will be generated and returned";
fetch(url).then((code) => {
    console.log('code: ', code);
    window.location.replace('https://testserver.com/callback?code=${code}');
}).catch(e => {});

Но я проанализировал OAuth Google, и они не делают никакого запроса на выборку, чтобы сгенерировать код авторизации.

Так каков наилучший способ (момент) для генерации и отправки кода авторизации?

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