Add Basic OpenID Connect support including UserInfo endpoint

It may be worthwhile to create a JsonResponse class to clean up some repeated code.