Не могу получить простой Oauth с Vertx для работы с Google - PullRequest
0 голосов
/ 24 сентября 2019

Попытка создать веб-клиент, который использует oauth для подключения к нескольким конечным точкам sso, в основном Google.Это поверх весеннего загрузочного проекта, я просто получаю ту же ошибку, что не предоставляется никакого кода, но я не уверен, как мне сначала получить код без токена доступа.Вот простая версия того, что я пытаюсь запустить. Я хочу, чтобы localhost / 8080 переадресовал на Google, чтобы войти в систему и вернуться на ту же страницу, или на другую страницу не имеет значения

@RequestMapping("/google")
    fun google(@RequestParam(value = "code") code: String?, model: Model): String {

        val clientId = "asdf.apps.googleusercontent.com"
        val secret = "1234"

        var goog = GoogleAuth.create(Vertx.factory.vertx(), clientId, secret)

        goog.authenticate(JsonObject().put("code", code), {
            System.out.println(it)
        })

        return "test"


    }

ошибка всегда

  "error": "invalid_request",
  "error_description": "Missing required parameter: code"
}}
e```

but how can I provide a code first I need some sort of response from the server. I'm pretty familiar with restful oauth and must be missing something

1 Ответ

1 голос
/ 24 сентября 2019

Вы не можете использовать GoogleAuth таким образом.GoogleAuth предоставляет базовые примитивы для обработки протокола OAuth2.Поскольку вы не используете часть vertx-web, вам потребуется настроить конечную точку обратного вызова в вашем приложении (я думаю, что это конечная точка /google, которую вы перечислили), но теперь вы пропускаете полное рукопожатие Oauth2.Ваш клиент (браузер) должен позвонить в Google, который вызывает ваш сервер для проверки кода.

Итак, вы просите повторно реализовать веб-Oauth2Handler vert.x с использованием Spring Boot API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...