Сценарий:
app.com делегировал аутентификацию openid-connect.provider.com, то есть неаутентифицированные пользователи перенаправляются внешнему провайдеру для входа в систему, если у них нет действующего сеанса. Как только это произойдет, они получат cookie сеанса app.com некоторой продолжительности.
Хотя с пользовательским потоком все в порядке, мне было интересно, что делать с запросами API? В спецификации сказано, что если вы вернете HTTP 401 UNAUTHORIZED, он должен сопровождаться заголовком WWW-Authenticate, который представляет схему аутентификации для клиента.
Так что же app.com должно возвращать в случае ошибки 401?
Я вижу кусочки, указывающие на OAuth, но я предполагаю, что это относится к внешнему провайдеру входа в систему, а не к самому приложению ( app.com)?
Пример:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example",
error="invalid_token",
error_description="The access token expired"
Вышеупомянутое не кажется правильным, поскольку сервер app.com не предъявляет иски к каким-либо токенам доступа в смысле oauth, а только к обычному cookie сеанса для локального сеанса.