Basic OpenID Connect setup

Adds OpenID Connect ID token support
Yeah, it is cached per instance of the class, and there is only one per request.