Как проверить правильность токена в приложении, запущенном из основного приложения? - PullRequest
0 голосов
/ 15 февраля 2019

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

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

Извините забольшое количество вопросов.

Я новичок в идентификации сервера и подключении openID, поэтому любые указатели будут хороши.

Спасибо

1 Ответ

0 голосов
/ 15 февраля 2019

Во-первых, вы не должны передавать токены между вашими приложениями.Все ваши приложения должны быть отдельными client, но у них обычно будет один и тот же центральный URL-адрес органа (ваш сервер идентификации), который они будут использовать для получения токенов.Все это будет легко с точки зрения пользователя из-за единого входа, достигнутого в центральном органе с использованием аутентификации cookie - когда пользователь входит в главное приложение, когда другие приложения перенаправляют пользователя для получения токена, они пропускают страницу входаиз-за аутентификации cookie и может перейти непосредственно на страницу согласия (также можно пропустить страницу согласия, установив для свойства клиента RequireConsent значение false, что обычно делается для приложений сторонних производителей).

Чтобы ответить на некоторые ваши вопросы:

Как второе приложение узнает, что токен действителен?

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

Должны ли приложения работать в одном домене, чтобы это работало?

Они не обязательно должны находиться в одном домене.

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

Утверждения, которые содержит токен, в значительной степени контролируются в зависимости от области, которую запрашивает клиент (по крайней мере, по умолчанию).Таким образом, если у каждого приложения запрашивается собственный токен, оно должно запросить все области, в которых оно заинтересовано.Многие из этих действий могут быть переопределены и расширены из-за безумной гибкости Identity Server 4, поэтому почти всегда у вас будет способ выполнить то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...