Add Basic OpenID Connect support including UserInfo endpoint

I think I do for the general case. However, what I want to do is convert this view into an authentication backend, a decorator and a middleware layer. It is on my TODO list, but I haven't got to it yet