2015-07-27 2 views
2

Поток, который я хотел бы реализоватьNginx Single Sign On - модуль auth_request

  Requests with              
Client +------------------------>Nginx          
     Access token set   +           
            |           
            +------>auth_request to microservice  
              which **somehow** returns user id 
              +        
              |        
              |        
              |        
     Request forwarded to  <--------+        
     main microservice which            
     can access user id             
     and has nothing to do with           
     access token              

Как идти о выполнении такой архитектуры microservice? Главное, что я хочу передавать данные с одного микросервиса на другой микросервис, не предоставляя доступ ко второму микросервису, если

+1

** как-то ** может быть http-заголовком, который может использоваться в директиве 'auth_request_set' –

+0

@AlexeyTen Если вы можете PLS разработать и дать образец, я был бы благодарен. Вы имеете в виду установку заголовка в auth microservice? ** Тогда как получить доступ к нему в 'auth_request_set'? ** –

+1

Вы читали документацию? 'auth_request_set $ userid $ upstream_http_userid;' Предполагая, что ваш микросервис устанавливает заголовок 'userid' –

ответ

0

У меня было такое же требование несколько дней назад для кластера. Я решил, что создаю authentication server, совместимый с модулем nginx auth_request. Он аутентифицируется против моего LDAP и обеспечивает безопасность с двухфакторной проверкой, например, с помощью приложения TOTP и Google Authenticator.