Я хотел бы построить следующий проект:
- открытый интерфейс REST API, доступ к которому может получить любой аутентифицированный клиент
- со статическими файлами в HTML/CSS/Javascript с обратными вызовами Backbone.js jQuery на конец REST
Фактически, в моей архитектуре есть три стороны: передняя часть, которая является клиентом задней части, задним концом и пользователем, который хочет аутентифицироваться на странице входа в интерфейс.
Каков наилучший способ защиты трех сторон, участвующих в этой архитектуре?
На самом деле, я считаю, что просто сделать безопасное приложение на передней панели невозможно, если я делаю все в javascript, поэтому я намерен делегировать аутентификацию/авторизацию на прокси-уровне на моем сервере. Что вы думаете об этом?
Я намерен использовать OAuth для защиты моего конца REST, но я не уверен, что мне нужно использовать реализацию с 2 или 3 ногами. Каков правильный подход в этом случае?
UPDATE: при поиске более глубокого контента на веб-сайте SO я нашел этот поток, который именно то, что я хотел бы сделать, кроме Я хочу использовать Java на стороне сервера, а не DotNet. Если я хорошо понимаю, на самом деле мой веб-сайт похож на любого клиента моего REST API, за исключением того, что он является единственным, который имеет право создавать учетные записи новых пользователей. Потому что, если мой REST API доступен только OAuth (например, Twitter), кто может выполнять создание учетной записи пользователя раньше? Я прав?