Size: a a a

Angular-universal-ru

2017 December 12

V

Vadim in Angular-universal-ru
Macks Popov
Проблема возникает когда подключаєш domino и  используешь   ngx-cookie-service на сервере
Нашёл. Догадываюсь, в чём может быть дело.
@angular/platform-server в зависимостях использует domino "^1.0.29". А ты, если пытаешься подключить domino руками, возможно, используешь версию 2.0.0
Версии domino, скорее всего, будут конфликтовать при подключении второй ручками.
источник

MP

Macks Popov in Angular-universal-ru
Vadim
Нашёл. Догадываюсь, в чём может быть дело.
@angular/platform-server в зависимостях использует domino "^1.0.29". А ты, если пытаешься подключить domino руками, возможно, используешь версию 2.0.0
Версии domino, скорее всего, будут конфликтовать при подключении второй ручками.
domino явно не подключал да и проблема возникает когда я пытаюсь записать или считать куки на сервере -  если ставлю проверку на isBrowser  все норм
источник
2017 December 13

V

Vadim in Angular-universal-ru
Про работу с cookie на сервере вкуривал только @gorniv, но он сейчас на отдыхе. В код смотреть явно не сможет.
источник

ИК

Игорь Кравченко in Angular-universal-ru
Привет:) скорее всего ngx-cookie-service не поддерживает сервер сайд, смотри в репозитории universalStorage
источник

P

Phreeman in Angular-universal-ru
Всем привет. Такой вопрос: как правильно организовать авторизацию пользователя
У меня два приложения:
1. Лэндинг страница с раными экранами и переходами (angular universal). Здесь клиент проходит авторизацию (всплывающее окно)
2. Основное приложение просто angular. Здесь могу находиться только авторизованные пользователи
Я могу использовать localstorage и тогда вроде как могу сохранить jwt и передавать его между приложениями, но правильно ли это?
И вопрос второй: как ораганизовывается авторизация через соц сети?
В api vk, например, я должен отправить пользователя на их страницу авторизации, что бы он могу подтвердить запрашиваемые права. Дальше на redirect отправляться временный код, который я должен использовать, чтобы получить vk token(это redirect ведет на серверную часть (php)). В итоге я не могу понять как правильно перенаправить пользователя (после получения vk токена). На приложение 2, чтобы оно имело jwt?
источник

KA

Kulagin Alex in Angular-universal-ru
Вторую часть я сделал так: после регистрации через ВК/фб через куки выставляю auth_token. Можно сделать ещё служебную страницу на фронте, которая перегонит токен в локалсторадж и редиректит куда надо
источник

V

Vadim in Angular-universal-ru
Phreeman
Всем привет. Такой вопрос: как правильно организовать авторизацию пользователя
У меня два приложения:
1. Лэндинг страница с раными экранами и переходами (angular universal). Здесь клиент проходит авторизацию (всплывающее окно)
2. Основное приложение просто angular. Здесь могу находиться только авторизованные пользователи
Я могу использовать localstorage и тогда вроде как могу сохранить jwt и передавать его между приложениями, но правильно ли это?
И вопрос второй: как ораганизовывается авторизация через соц сети?
В api vk, например, я должен отправить пользователя на их страницу авторизации, что бы он могу подтвердить запрашиваемые права. Дальше на redirect отправляться временный код, который я должен использовать, чтобы получить vk token(это redirect ведет на серверную часть (php)). В итоге я не могу понять как правильно перенаправить пользователя (после получения vk токена). На приложение 2, чтобы оно имело jwt?
Про первое: на самом деле можно использовать любой доступный способ, они (почти) все неплохи. У нас, например, из-за того, что страница логина - это абсолютно другое приложение на другом поддомене, никак не связанное с кабинетом на Angular, токен вообще передаётся через query параметры.
источник

P

Phreeman in Angular-universal-ru
@basscreator я вот тоже сделал передачу через query и когда страница открывается, просто убираю их
источник

P

Phreeman in Angular-universal-ru
но это выглядит стремно
источник

P

Phreeman in Angular-universal-ru
@alex_kulagin, вот тоже думал через cookie выставить. Просто они нынче не в моде и поэтому решил спросить
источник

NS

Nikita Savanovich in Angular-universal-ru
Macks Popov
привет.У всех все норм с domino? При запуске сервера кидает Error: NotYetImplemented
   at Document.exports.nyi (/var/www/angular5-universal/dist/server.js:30673:9)
   at hasDocumentCookie (/var/www/angular5-universal/dist/server.js:200810:110)
Всем привет. Столкнулся с такой же ошибкой. Решили ли её в итоге?
источник

V

Vadim in Angular-universal-ru
Phreeman
но это выглядит стремно
В нашем случае приемлемо. С точки зрения пользовательского опыта всё ок. А то, что в урле query string появился/удалился, никого не волнует.
источник

P

Phreeman in Angular-universal-ru
Vadim, [13.12.17 15:22]
[In reply to Phreeman]
В нашем случае приемлемо. С точки зрения пользовательского опыта всё ок. А то, что в урле query string появился/удалился, никого не волнует.
Мда... Современные технологии такие современные. Только вот такие моменты напрягают (хоть и не критично). И не понятно почему так...
источник

V

Vadim in Angular-universal-ru
Phreeman
Vadim, [13.12.17 15:22]
[In reply to Phreeman]
В нашем случае приемлемо. С точки зрения пользовательского опыта всё ок. А то, что в урле query string появился/удалился, никого не волнует.
Мда... Современные технологии такие современные. Только вот такие моменты напрягают (хоть и не критично). И не понятно почему так...
Странный сарказм. Если решение задачи легко реализуемо и при этом не несёт в себе явных минусов или костылей, то почему бы его не использовать.

"Куки - не модно" - вообще странное высказывание. Другое дело, что оно несёт в себе недостаток в виде передачи токена при каждом запросе, а если это, например, refresh token, то это неприемлемо.
источник

KA

Kulagin Alex in Angular-universal-ru
В том же express cookie parser можно включить только для некоторых роутов и вуаля педавай хоть черта лысого. А вот как способ чтото передать на фронт очень даже неплохо
источник

V

Vadim in Angular-universal-ru
Kulagin Alex
В том же express cookie parser можно включить только для некоторых роутов и вуаля педавай хоть черта лысого. А вот как способ чтото передать на фронт очень даже неплохо
Так и query params можно парсить лишь в каких-то конкретных компонентах/роутах
источник

P

Phreeman in Angular-universal-ru
Vadim
Странный сарказм. Если решение задачи легко реализуемо и при этом не несёт в себе явных минусов или костылей, то почему бы его не использовать.

"Куки - не модно" - вообще странное высказывание. Другое дело, что оно несёт в себе недостаток в виде передачи токена при каждом запросе, а если это, например, refresh token, то это неприемлемо.
Не сарказм. Возможно не правильно выразился.
1. Куки не то что не можно, в последнее время (наверно уже года полтора) толико и слышу, что Beaer или token через query + loclstorage, что дает возможность избегать закона об использовани кук.
2. Решение разумно и я так же его использую, но это выглядит костылем - передача данных на фронт через query.

Сейчас вот сижу и разбираюсь как написал @alex_kulagin. Момент мне нрафится, то что не придется использовать query, но куки как всегда поиск холотой середины
источник

KA

Kulagin Alex in Angular-universal-ru
Vadim
Так и query params можно парсить лишь в каких-то конкретных компонентах/роутах
Я этот вариант тоже предложил выше, но если критично чтобы в урле не появлялось, то есть вариант через куку. Вообще вариантов масса
источник

P

Phreeman in Angular-universal-ru
+query лишняя не безопасность тупо конечно, но: если тебе в этот ммоент эеран заскринили, когда пришёл токен в query. Все пользуйся кто хочет. Конечно, можно проверять с какого ip запрос и пытаться отсеить такое, но это борьба с открытой дверью
источник

MY

Mike Yaschenko in Angular-universal-ru
Куки наше все если клиент сидит под инкогнито. Попробуйте залогинится в инкогнито если используете локалсторадж 😕
источник