Last major update: 25.08.2020
- Что такое авторизация/аутентификация
- Где хранить токены
- Как ставить куки ?
- Процесс логина
- Процесс рефреш токенов
- Кража токенов/Механизм контроля токенов
code: https://github.com/zmts/supra-api-nodejs
Одной из болезней Node.js комьюнити это отсутствие каких либо крупных фреймворков, действительно крупных уровня Symphony/Django/RoR/Spring. Что является причиной все ещё достаточно юного возраста данной технологии. И каждый кузнец кует как умеет ну или как в интернетах посоветовали. Собственно это моя попытка выковать некий свой подход к построению Node.js приложений.
Допустим у наc есть такой CRUD и мы хотим проверять права доступа к каждому екшену.
class PostsController extends BaseController {
static get router () {
router.get('/', actionRunner(actions.ListAction))
router.get('/:id', actionRunner(actions.GetByIdAction))
router.post('/', actionRunner(actions.CreateAction))
router.patch('/', actionRunner(actions.UpdateAction))
@BotFather
#POST: https://api.telegram.org/bot<token>/sendMessage
{
"chat_id": "@mysuperchannel",
Example of deployment process which I use in my Nuxt.js projects. I usually have 3 components running per project: admin-panel SPA, nuxt.js renderer and JSON API.
This manual is relevant for VPS such as DigitalOcean.com or Vultr.com. It's easier to use things like Now for deployment but for most cases VPS gives more flexebillity needed for projects bigger then a landing page.
UPD: This manual now compatible with nuxt@2.3. For older versions deployment, see revision history.
Let's assume that you have entered fresh installation of Ubuntu instance via SSH. Let's rock:
Preferences --> Editor --> Code Style --> Typescript/JavaScript --> Punctuation [Tab] --> Use [Single] quotes in [New Code]
Preferences --> Editor --> Code Style --> Typescript/JavaScript --> Spaces [Tab] --> Scroll to section "Within" and check ES6 import/export braces
Для проектов среднего и небольшого размера не всегда оправданно использовать AWS/Kubernetes подобную технологию. Для проектов нуждающихся в нескольких серверах отлично подходит Digital ocean. Который к тому же предоставляет средства вертикального скейлинга(увеличение производительной мощности уже существующих серверов).
Создаем сертификат под которым будем логинится на сервера нашего проекта (на локальной машине)
ssh-keygen -t rsa -b 4096 -f /Users/alex/.ssh/myproject_test -C "myproject comment"
Не забываем сделать его бекап