Я работаю над внутренней системой аутентификации для пользователей набора веб-приложений RESTful. Наше намерение заключается в том, что пользователь должен иметь возможность один раз регистрироваться через веб-форму и иметь соответствующий доступ ко всем этим RESTful-приложениям в нашем домене, которые могут распространяться в частном облаке на многих серверах. (Я уже понял, что наличие единого аутентифицированного сеанса не согласовано с чистым RESTful-подходом, но это требование к юзабилити.)Как использовать OpenID или OAuth для внутренней аутентификации первой стороны?
Сами приложения будут записаны на разных языках программирования, поэтому подход, ориентированный на язык, обязательный. Мне было предложено использовать OpenID или OAuth или аналогичную инфраструктуру для обработки аутентификации, но я понимаю, что они предназначены для сторонних служб, а не для сторонних служб, которые будут обмениваться данными с нашей внутренней системой. В этом случае у нас может быть служба центрального провайдера со всеми другими приложениями, которые рассматриваются как третьи лица (или полагающиеся стороны).
Вопросы:
- ли OpenID/OAuth подходит для аутентификации среди первых сторонних сервисов?
- Если да, то как было бы рекомендовано настроить аутентификацию для этого варианта использования?
- Разве пользователь не должен предоставлять индивидуальное разрешение каждому серверу сторонних производителей, которое они хотели использовать, так же как им нужно было бы предоставить индивидуальное разрешение любому стороннему серверу? Я думаю, что это нарушит требование наличия единого входа для доступа ко всем услугам первой стороны.
- Есть ли хорошие примеры сайтов, поддерживающих этот сторонний вариант использования?
- Что было бы хорошей альтернативной основой для этого использования?
Спасибо за подтверждение. Хорошо знать, что я не пропустил ничего очевидного с OAuth или другими сторонними структурами. – Richard