В настоящее время я реализую некоторую логику в своей конфигурации nginx, чтобы я мог обрабатывать аутентификацию и проверку токена.Моя логика здесь такова:
Первый сценарий:
- Пользователь пытается получить доступ к страницам / login или / register.
- Nginx должен перенаправить эти вызовы непосредственно наauth service.
- Auth создает токен и отправляет его обратно пользователю.
- End.
Второй сценарий:
- Пользователь пытается получить доступ к странице / someservice / somepage с помощью токена.
- Nginx должен перенаправить этот вызов на шлюз API.
- Шлюз API проверяет, пытается ли пользователь получить доступ к защищенному ресурсу, если это так, проверьте токен и отправьте ответ 2xx.
- Nginx получает ответ 2xx и перенаправляет пользователя на real / someservice
- Someservice генерирует ответ и отправляет его обратно пользователю.
- Конец.
Прежде всего, вам кажется, что эта логика вам подходит?я должен рассмотреть другие варианты проверки подлинности?И самое главное, как мне реализовать эту логику с помощью nginx?
Моя конфигурация nginx выглядит следующим образом:
http {
upstream gateway {
server ...;
}
upstream auth {
server ...;
}
upstream someservice {
server ...;
}
server {
location ^~ /api {
proxy_pass http://gateway;
# redirect ???
}
location /auth {
proxy_pass http://auth;
}
location /someservice {
proxy_pass http://someservice;
}
}
}
Спасибо!