Создание службы restful с внешним поставщиком для проверки подлинности

#rest #oauth #openid #dotnetopenauth

#rest #oauth #OpenID #dotnetopenauth

Вопрос:

Упрощенная схема с ролями сервера

Я хотел бы получить некоторые рекомендации относительно того, как обрабатывать аутентификацию для моей службы restful, чтобы иметь возможность поддерживать несколько разных сценариев, см. Прилагаемое изображение? Я думал об этой проблеме пару недель, не найдя решения для всех случаев, и даже если я пойду на компромиссы, у меня возникнут проблемы

Если мы пропустим мобильное приложение и использование Curl, нет необходимости предоставлять сервис для всеобщего доступа, и можно было бы использовать базовую аутентификацию для взаимодействия между серверами. Но нам все равно нужно будет возложить определенную ответственность на «веб-сайт только для ниндзя», чтобы передать (аутентифицированного пользователя OpenID) как часть заголовка http?

В этом случае мы используем Google apps для управления учетными данными наших коллег, и мне не нравится идея управлять другим именем пользователя / паролем в службе, если этого можно избежать.

Есть ли какое-либо устойчивое решение для моей мечты, чтобы я мог создавать потрясающие функции для клиента и внедрять жесткий api, который управляет авторизацией для разных ресурсов для конкретного пользователя?

Другим возможным решением может быть интеграция службы с поставщиком OpenID, но тогда у меня возникнут проблемы с передачей пользователя с «веб-сайта только для ниндзя»