Судя по тому, что я прочитал, у меня все еще нет хорошего понимания того, что делает рабочий процесс для аутентификации и запроса ресурсов учитывающим OAuth2. Соответствует ли следующий сценарий, который я собираюсь описать, требованиям для OAuth2?
Шаг 1 У меня есть веб-сайт, который отправляет следующий код через JavaScript:
// login to get an access token in json web token format
const jwt = null;
fetch('/login',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({username:'john',password:'pass'})})
.then(r=>r.json())
.then(r=>jwt = r.accessToken)
Шаг 2 Когда я хочу получить информацию из API, я делаю что-то вроде:
// list all my invoices
fetch('/invoices',{method:'GET',headers:{'Content-Type':'application/json','Authorizaton':'`Bearer ${jwt}`});
Соответствует ли мой рабочий процесс требованиям реализации OAuth2?
Когда я пытаюсь аутентифицироваться и запрашивать ресурсы у других API, таких как Facebook, LinkedIn et c ... во время входа в систему требуется выполнить больше шагов, где мне нужно указать hmac tokens, scopes, and redirect_url
, чтобы получить client_secret
. Затем я использую client_secret
, чтобы запросить access_token
. Требует ли OAuth2, чтобы я также реализовал рабочий процесс, включающий scopes, redirect_url, and client_secret
? Или мой первоначальный сценарий выше достаточен для удовлетворения OAuth2?