AngularJS Аутентификация + RESTful API
Это было рассмотрено в нескольких разных вопросах и в нескольких разных уроках, но во всех предыдущих ресурсах ямы столкнулись нене совсем ударил ногтем по голове.
В скорлупе мне нужноВойти через POST отhttp://client.foo
вhttp://api.foo/login
Есть "авторизовался GUI / состояние компонента для пользователя, который обеспечиваетlogout
маршрутБыть способным "Обновить" пользовательский интерфейс, когда пользователь выходит из системы / выходит из системы.Это было самым расстраивающимЗащитите мои маршруты, чтобы проверить состояние аутентификации (если оно им понадобится) и соответственно перенаправить пользователя на страницу входаМои проблемыКаждый раз, когда я перехожу на другую страницу, мне нужно позвонитьapi.foo/status
определить, вошел ли пользователь в систему. (ATM I 'я использую Express для маршрутов) Это вызывает сбой, так как Angular определяет такие вещи, какng-show="user.is_authenticated"
После успешного входа / выхода мне нужно обновить страницу (я нене хочу это делать) для того, чтобы заполнить такие вещи, как{{user.first_name}}
или, в случае выхода из системы, очистите это значение.// Sample response from `/status` if successful
{
customer: {...},
is_authenticated: true,
authentication_timeout: 1376959033,
...
}
Что я'мы пыталисьhttp://witoldsz.github.io/angular-http-auth/1http://www.frederiknakstad.com/authentication-in-single-page-applications-with-angular-js/2https://github.com/mgonto/restangular (По жизни я не мог понять, какPOST
сpost data
и неquery params
, Документы ничего не нашли по этому вопросу.Почему я чувствую, что яя схожу с умаКажется, что каждое руководство опирается на какое-то решение для баз данных (множество Mongo, Couch, PHP + MySQL, ad infinitum), и ни одно из них не полагается исключительно на связь с RESTful API для сохранения состояний входа в систему. После входа в систему дополнительные сообщения POST / GET отправляются сwithCredentials:true
, чтобы'не проблемаЯ не могу найти ЛЮБЫЕ примеры / учебники / репозитории, которые делают Angular + REST + Auth, без языка бэкэнда. 'я не слишком горжусьПо общему признанию, яЯ новичок в Angular, и не удивлюсь, если яя подхожу к этому нелепым образом; Я'Буду взволнован, если кто-то предложит альтернативудаже если этос супом к орехам.
м используюExpress
в основном потому, что я действительно люблюJade
и я'Stylus
Я не женат наExpress
будет отказываться от него, если то, что я хочу сделать, возможно только с Angular 'с маршрутизацией.
Заранее благодарен за любую помощь, которую может оказать любой. И, пожалуйста, нене спрашивайте меня об этом, потому что у меня около 26 страниц фиолетовых ссылок. ;-) 1
Это решение опирается на Angular 's $ httpBackend макет, и этоНеясно, как заставить его общаться с реальным сервером.
Это было ближе всего, но поскольку у меня есть существующий API, с которым мне нужно пройти аутентификацию, я не смог использовать паспорт 'localStrategy»и казалосьненормальный написать OAUTH сервис ... который только я намеревался использовать.