Add Basic OpenID Connect support including UserInfo endpoint

Oh, I see that they do the same thing "provider.scope" is a collection... ugh. I guess for consistencies sake you should keep it the way it is.