/** * Create a OAuth2Auth provider for OpenID Connect Discovery. The discovery will use the default site in the * configuration options and attempt to load the well known descriptor. If a site is provided (for example when * running on a custom instance) that site will be used to do the lookup. * <p> * If the discovered config includes a json web key url, it will be also fetched and the JWKs will be loaded * into the OAuth provider so tokens can be decoded. * * @param vertx the vertx instance * @param config the initial config * @param handler the instantiated Oauth2 provider instance handler */ static void discover(final Vertx vertx, final OAuth2ClientOptions config, final Handler<AsyncResult<OAuth2Auth>> handler) { // don't override if already set final String site = config.getSite() == null ? "https://accounts.google.com" : config.getSite(); OpenIDConnectAuth.discover( vertx, new OAuth2ClientOptions(config) .setSite(site) .setUserInfoParameters(new JsonObject() .put("alt", "json")) .setScopeSeparator(" "), handler); }
case "userInfoParameters": if (member.getValue() instanceof JsonObject) { obj.setUserInfoParameters(((JsonObject)member.getValue()).copy());
/** * Create a OAuth2Auth provider for Google * * @param clientId the client id given to you by Google * @param clientSecret the client secret given to you by Google * @param httpClientOptions custom http client options */ static OAuth2Auth create(Vertx vertx, String clientId, String clientSecret, HttpClientOptions httpClientOptions) { return OAuth2Auth.create(vertx, new OAuth2ClientOptions(httpClientOptions) .setSite("https://accounts.google.com") .setFlow(OAuth2FlowType.AUTH_CODE) .setTokenPath("https://www.googleapis.com/oauth2/v3/token") .setAuthorizationPath("/o/oauth2/auth") .setIntrospectionPath("https://www.googleapis.com/oauth2/v3/tokeninfo") .setUserInfoPath("https://www.googleapis.com/oauth2/v3/userinfo") .setJwkPath("https://www.googleapis.com/oauth2/v3/certs") .setUserInfoParameters(new JsonObject() .put("alt", "json")) .setScopeSeparator(" ") .setClientID(clientId) .setClientSecret(clientSecret)); }