Это похоже на случай федеративной безопасности.
Обычно, когда пользователь входит в систему, вы генерируете билет сеанса. Это может быть число или строка. Этот билет содержит закодированную информацию о личности пользователя и / или его ролях, а также метку времени истечения.
Вы передаете этот билет сеанса своим вызовам REST, а принимающий сервер декодирует билет, чтобы получить необходимую ему информацию. Если билет недействителен (не расшифрован, не устарел или не имеет необходимых прав), серверный метод отклоняет операцию и возвращает статус 401 «Неавторизованный HTTP».
Чтобы реализовать это, вы можете положиться на реализацию Microsoft ( wsFederationHttpBinding ) или свернуть свою собственную, что обычно требует меньше усилий.
Еще одно замечание: для генерации и аутентификации билетов вы можете создать другую службу, которая находится за вашим 2-м межсетевым экраном, или вы можете использовать DLL-библиотеку в памяти ... Но убедитесь, что генерировать заявку нелегко в случае взлома веб-сервера.