使用大使身份验证服务仅要求对某些路由/ URL(或服务)进行基本身份验证

时间:2019-04-05 08:35:17

标签: authentication kubernetes

我想激活大使authservice仅要求对某些路由/ URL进行身份验证。现在,如果您安装基本的http auth服务,则默认情况下,所有服务都需要此auth。那么如何配置大使或身份验证服务(与ExAuth分离的服务),使其仅要求对某些路由/ URL进行身份验证?

Ambassador版本0.51.2 kubernetes版本1.14 我用作基础的身份验证服务:https://github.com/datawire/ambassador-auth-httpbasic

1 个答案:

答案 0 :(得分:2)

如果您在https://github.com/datawire/ambassador-auth-httpbasic中看到server.js示例,则会看到它仅对/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)')
})

或者,如果您愿意,也可以使用其他语言来实现此服务器。