[users at bb.net] problems configuring www.auth = RemoteUserAuth()

iw3gtf at arcor.de iw3gtf at arcor.de
Fri Nov 13 15:31:05 UTC 2020


Hi,

I'm not able to configure www authentication with RemoteUserAuth() in my master.cfg.

I'm running the buildbot web service behind a lighttpd proxy, to have https access to it.
The https access is working as expected and I can exactly control which uses are allowed
to connect the server (through public/private key certificates checked by lighty).

Now, according to the docs at https://docs.buildbot.net/current/manual/configuration/www.html,
it should be possible to forward the user authenticated by lighty to buildbot; here is the
www in my master.cfg:

c['www'] = {
    'port': 8015,
    'plugins': {
        'waterfall_view': True,
        'grid_view': True,
        'console_view': True,
    },
    'auth':  util.RemoteUserAuth(),
}

unfortunately all I'm getting is the following python exception whenever I try to login
on the browser:

2020-11-13 15:06:21+0100 [-] Unhandled Error
  Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/twisted/protocols/basic.py", line 572, in dataReceived
    why = self.lineReceived(line)
  File "/usr/lib/python3.9/site-packages/twisted/web/http.py", line 2155, in lineReceived
    self.allContentReceived()
  File "/usr/lib/python3.9/site-packages/twisted/web/http.py", line 2284, in allContentReceived
    req.requestReceived(command, path, version)
  File "/usr/lib/python3.9/site-packages/twisted/web/http.py", line 946, in requestReceived
    self.process()
  --- <exception caught here> ---
  File "/usr/lib/python3.9/site-packages/twisted/web/server.py", line 230, in process
    resrc = self.site.getResourceFor(self)
  File "/usr/lib/python3.9/site-packages/buildbot/www/service.py", line 157, in getResourceFor
    return server.Site.getResourceFor(self, request)
  File "/usr/lib/python3.9/site-packages/twisted/web/server.py", line 899, in getResourceFor
    return resource.getChildForRequest(self.resource, request)
  File "/usr/lib/python3.9/site-packages/twisted/web/resource.py", line 98, in getChildForRequest
    resource = resource.getChildWithDefault(pathElement, request)
  File "/usr/lib/python3.9/site-packages/twisted/web/resource.py", line 201, in getChildWithDefault
    return self.getChild(path, request)
  File "/usr/lib/python3.9/site-packages/buildbot/www/auth.py", line 49, in getChild
    return self.master.www.auth.getLoginResource()
  File "/usr/lib/python3.9/site-packages/buildbot/www/auth.py", line 67, in getLoginResource
    raise Error(501, b"not implemented")
  twisted.web.error.Error: 501 not implemented

I had a look at the python sources at /usr/lib/python3.9/site-packages/buildbot/www/auth.py
but it seems the class RemoteUserAuth does not implement the method getLoginResource() so python
falls back to the implementation in the base class (AuthBase) and raises the error.

Does anyone have a similar configuration running and can suggest what I'm missing ?

giorgio


More information about the users mailing list