backend-tz3's People
backend-tz3's Issues
Потенциально опасные зависимости
github ругается на эти пакеты:
- merge
- superagent
- hoek
решение: заменить / выпилить.
Токен для авторизации
Какой именно нужен токен для авторизации, а то:
{
"error": "Bad Google cliend ID"
}
или
{
"error": "Invalid Value"
}
ошибка docker-compose up
не могу нормально запустить докер.... свагер и монго запускаются, но не сервер.
Может банальная ошибка, но пока никак с ней не справлюсь..
вот лог..
backend_1 | npm WARN deprecated [email protected]: It is recommended to install Yarn using the native installation method for your environment. See https://yarnpkg.com/en/docs/install
backend_1 | npm WARN [email protected] No repository field.
backend_1 |
backend_1 | npm ERR! code E404
backend_1 | npm ERR! 404 Not Found: flatmap-stream@https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.2.tgz
backend_1 |
backend_1 | npm ERR! A complete log of this run can be found in:
backend_1 | npm ERR! /root/.npm/_logs/2018-11-28T20_55_46_736Z-debug.log
backend_1 | start.sh: line 10: ./node_modules/yarn/bin/yarn: No such file or directory
backend_1 | start.sh: line 11: ./node_modules/yarn/bin/yarn: No such file or directory
backendtz3_backend_1 exited with code 127
Нам нужен user._id !!!
Суть пробемы:
На всех endpoint'ах связанных c аутентификацией - в респонсе сервера мы получаем только JWT, без user_id
Почему это проблема:
Нам необходимо качественно определить является ли пользователь автором новости или нет (Что важно для возможности редактирования или удаления и вообще отображения кнопок или иконок).
Почему не стоит привязываться в полю displayName.
Это поле находится в feed.creator (лежит рядом с id)
Получаем с
get <api url>/news/feeds
get <api url>/news/feeds/:id)
Его легко получить с каждой новоcти, также легко получить если пользователь зашел через Google Oauth2 -> googleUser.getBasicProfile().getName()
НО!
- оно не является уникальным, что критически важно для определения автора.
- если заходим без гугл auth (recapcha sign up / sign in ) мы его получить не можем.
разве что догадаться, что dispalyName будет полем username и запомнить его когда пользователь заходит или регистрируется (что как по мне плохой вариант решения).
Как можно получить user._id на данном этапе.
Единственный способ получить айди пользователя, что вошел, это получить список новостей, и последовательно ломиться на endpoint
get <api url>/news/user/:id (этот айди берем из feed.creator._id)
если сервер ответит с кодом респонса 200 - значит это наш айди, так как получить данные по этому endpoint может только пользователь с JWT, который относится к этому аккаунту.
То есть решение является ужасным костылем, так как в худшем случае количество запросов на сервер будет равно количеству новостей, только для того, чтобы "ПОПЫТАТЬСЯ" найти id нашего пользователя.
Причем если не нашли значит у пользователь не постил ни одной записи.
Пути решения:
- возращать на всех endpoint`ах где возращается jwt еще и id пользователя.
- добавить endpoint
get <api url>/user-id
header: {
'x-acces-token': jwt
}
на котором проверятеся jwt и если такой пользователь существует - то вернуть его id в респонсе.
PS
Возможно я ошибаюсь и просто не вижу правильного решения.
Если я прав, могу попробовать дописать backend используя один из предложенных мной путей решения, или же другой путь, предложенный кем-то еще, если он будет значительно лучше.
Версия новости не обновляется после редактирования
Привет. После редактирования новости её версия не обновляется, также не появляется дата последнего редактирования.
Новости удаляются после рестарта докера
Если запускать приложение через докер, то после перезапуска докера новости удаляются.
401 при авторизации с reCaptcha
Посылаю POST-запрос с токеном рекапчи на /users, в ответ приходит Error: Request failed with status code 401.
Как я понял, нужно сделать авторизацию с Secret-key от рекапчи в сваггере.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.