У меня есть приложение SPA, которое использует Azure AD для аутентификации. Он работает хорошо, и теперь я добавил несколько пользовательских документов, используя Sphinx.
Я настроил Nginx, так что документация доступна через /app/doco
. Это работает хорошо, однако теперь я хотел бы также защитить его, чтобы только пользователи, прошедшие проверку подлинности Azure AD, могли получить доступ к документу. Для этого я использовал модуль auth_request
(http://nginx.org/en/docs/http/ngx_http_auth_request_module.html)). Это работает, если я использую стандартную аутентификацию Django, но когда я использую аутентификацию Azure AD, она не работает, так как запрос не имеет пользователей токен включен и т. д.
Как я понимаю, модуль auth_request
работает:
- Пользователь пытается получить доступ к
/app/doco
(включая токен пользователя)
- Nginx настроен на проверку подлинности пользователя, перейдя к
/app/auth_check
(пользовательское представление Django), которое возвращает либо 200, либо 404
- Если 200, пользователю предоставляется доступ к / app / doco
Такое чувство, что вышеприведенный подход ошибочен, пытаясь пробить квадратный колышек через круглое отверстие? Будет ли работать что-то подобное выше, или есть другой инструмент / подход, который лучше подходит?