2016-10-27 3 views
0

Мы используем Loopback для написания наших API-интерфейсов NodeJs.Реализация JWT Для достижения контроля доступа пользователей

Теперь мы ищем определённое определение, а затем внедряем систему контроля доступа пользователя. Мы собираемся иметь 10 подтипов пользователей admin.

Каждый подтип может видеть какое-либо действие. Каждый пользователь подтипа будет иметь доступ к некоторым конечным точкам, которые мы собираемся определить вручную.

Теперь, чтобы реализовать это, у нас есть JWT, который, кажется, имеет точный, который мы хотим. Он сохранит все разрешения ролей и ролей (конечные точки api) в формате json, которые мы собираемся кодировать в jwt, а затем получить сгенерированный токен доступа, который мы можем декодировать позже, чтобы проверить достоверность.

Таким образом, поток должен быть: -

а) Любой вход пользователя в системе, проверить свою роль на стороне сервера, а затем создать маркер доступа путем кодирования его разрешения.

b) В следующий раз, когда пользователь отправит этот токен доступа, расшифруйте его, на стороне сервера, получите доступность для пользователя, а затем перешлите его или дайте ему ошибку на основе списка разрешений и текущей запрашиваемой конечной точки api.

Так что можно проверить разрешения до фактического перехода на конечную точку api. (Например, проверить его в server.js в Loopback)

Благодаря

ответ

0

Да, если вы не используете зашифрованную JWT, информация в формате JSON в JWT доступна в клиенте. Он просто закодирован в base64. Однако вы не можете доверять информации в JWT на клиенте, так как JWT и код JavaScript могут быть изменены. Но он есть для GUI и других небезопасных потребностей.

Смежные вопросы