2016-12-05 14 views
1

Я пытаюсь создать приложение JavaScript-клиента с чистым JavaScript, которое должно поддерживать анонимный поиск информации с сервера REST, который уже поддерживает JWT для аутентификации/авторизации для внешних приложений. Сервер уже используется другими клиентскими приложениями, поддерживающими с несколькими арендаторами. Фактически вложение информации арендатора в JWT.Использование JWT для анонимных и прошедших проверку пользователей

Кроме того, приложение должно поддерживать пользователей (людей), которые хотят отмечать (или выбирать) некоторые ресурсы в качестве избранных, поэтому необходим механизм для создания пользователей/ролей и дальнейшей аутентификации/авторизации для пользователей. Но эти пользователи не могут быть изолированы от одного арендатора, они захотят использовать через арендатора ресурсов.

Итак, сейчас я обнаружил, что мне нужно использовать значение JWT для анонимного извлечения данных, которые, конечно, должны быть арендатором агностик. Это означает, что я должен создать пользователя с особой ролью, которая просто имеет разрешения для ресурсов только для чтения, за исключением разрешений для создания пользователя (когда клиенты регистрируются) снова, это должно быть агентом-агентом. И когда пользователь вступает в систему, JWT следует заменить на тот, у которого пользовательские учетные данные снова становятся агностиками. Я не уверен, что это совершенно правильно, так как мы должны справляться с такой ситуацией?

Моя другая забота, что мы имеем то же фоновую поддержку аутентификации и учетные данные хранилищ для человека клиентов (арендатор-агностик) и клиентов приложений (арендатор-курс), так что есть логика, которая является немного сложнее, чтобы справиться с привилегиями и ограничениями арендатора здесь. Это может быть только мое впечатление, но я чувствую, что должно быть разделение между пользователями приложений и пользователями в логическом и/или хранилище данных.

Но я не совсем уверен, и я хочу знать, есть ли у некоторых из вас предыдущий опыт или могут быть некоторые идеи по этой теме?

ответ

1

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

Эти данные будут как Пользователя1 - tenant1 - административная роль User1 - tenant2 - данные читателя роль User1 - арендатор 3 - Роль пользователя

В JWT, мы гарантируем, что пользователь авторизован. Затем мы получаем список доступных арендаторов и видим, имеет ли он доступ к запрашиваемым данным арендатора w.r.to к вышеуказанным данным, а затем завершает авторизацию.

НТН

+0

Спасибо я попробую ваш подход и комментарии опыт еще раз, может быть, мой вопрос был слишком мнение, основанное – carpinchosaurio

+0

В конце концов я использовал свой подход логики на основе ролей, заменив JWT на клиенте для анонимных или аутентифицированный пользователь, хранилище данных для арендаторов-агностиков теперь разделено, и я выясню, что полезно разделить информацию о арендаторе от самого JWT, сейчас я использую специальный заголовок для каждого запроса. И он работает и на данный момент поддерживается. Спасибо за вашу идею. – carpinchosaurio

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

  • Нет связанных вопросов^_^