Я мог бы помочь с помощью REST API. Я пишу приложение Node.js, которое использует Express, MongoDB и имеет Backbone.js на стороне клиента. Я провел последние два дня, пытаясь выработать все это и не очень повезло. Я уже проверил:
- Защита API REST
- Защита моего REST API с помощью OAuth, но все же позволяющая аутентификацию через сторонних поставщиков OAuth (используя DotNetOpenAuth)
- http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
- http://tesoriere.com/2011/10/10/node.js-getting-oauth-up-and-working-using-express.js-and-railway.js/
Я хочу, чтобы мой backend и frontend были как можно более раздельными, поэтому я подумал об использовании тщательно разработанного REST API. Мое мышление заключается в том, что если я когда-нибудь займусь разработкой приложения для iPhone (или чего-то еще подобного), он сможет использовать API для доступа к данным.
НО, я хочу, чтобы это было безопасно. Пользователь зашел в мое веб-приложение, и я хочу, чтобы мой API был безопасным. Я читал об OAuth, OAuth 2.0, OpenID, Hmac, хэшах и т.д. Я хочу избежать использования внешнего входа в систему (Facebook/Twitter/etc). Я хочу, чтобы регистрация и вход в систему выполнялись на моем приложении/сервере.
... но я все еще смущен. Может быть, это поздно ночью, или мой мозг просто обжарен, но я действительно мог бы сделать несколько шагов о том, что делать здесь. Каковы шаги для создания безопасного API?
Любая помощь, любая информация, любые примеры, шаги или что-то было бы замечательно. Пожалуйста, помогите!