Использование посольского authservice, чтобы требовать только базовую авторизацию на некоторых маршрутах / URL (или сервисах) - PullRequest
1 голос
/ 05 апреля 2019

Я хочу активировать посол authservice, чтобы требовать только аутентификацию на определенных маршрутах / URL. Теперь, если вы устанавливаете базовую службу авторизации http, по умолчанию требуется эта аутентификация для всех служб. Итак, как я могу настроить посол или службу аутентификации (отдельную службу с ExAuth), чтобы требовать только аутентификацию на определенных маршрутах / URL?

версия Ambassador 0.51.2 kubernetes версия 1.14 Служба аутентификации, которую я использую в качестве базы: https://github.com/datawire/ambassador-auth-httpbasic

1 Ответ

2 голосов
/ 05 апреля 2019

Если вы увидите server.js пример в https://github.com/datawire/ambassador-auth-httpbasic, вы увидите, что он аутентифицируется только для /extauth/qotm/quote*.Если вы используете тот же server.js для запуска, вам нужно добавить еще один app.all раздел с тем, что вы хотите аутентифицировать.Например:

app.all('/extauth/myapp/myurl*', authenticate, function (req, res) {
  var session = req.headers['x-myapp-session']

  if (!session) {
    console.log(`creating x-myapp-session: ${req.id}`)
    session = req.id
    res.set('x-myapp-session', session)
  }

  console.log(`allowing MyApp request, session ${session}`)
  res.send('OK (authenticated)')
})

Или вы можете реализовать этот сервер на другом языке, если хотите.

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