Google OAuth как конечная точка API - PullRequest
0 голосов
/ 23 апреля 2020

Я ввел Google oauth, используя omniauth-google-oauth2 gem. Это работает, когда я пытаюсь войти в систему с адресом Gmail через браузер, но если я пытаюсь выставить его как конечную точку API, выдается следующая ошибка:

Started GET "/ api / v1 / swagger_do c . json "для :: 1 в 2020-04-23 09:01:07 +0530 запущен POST" / api / v1 / users / google_oauth2_signin "для :: 1 в 2020-04-23 09:01:25 + 0530 Запущено GET "/users/auth/google_oauth2/callback?email=a***h***@*****.com" для :: 1 в 2020-04-23 09:01:25 +0530 I , [2020-04-23T09: 01: 25.798091 # 49340] INFO - omniauth: (google_oauth2) Инициирована фаза обратного вызова. E, [2020-04-23T09: 01: 25.798853 # 49340] ОШИБКА - omniauth: (google_oauth2) Ошибка аутентификации! csrf_detected: OmniAuth :: Strategies :: OAuth2 :: CallbackError, csrf_detected | CSRF обнаружил ошибку обработки пользователями :: OmniauthController # как JSON Параметры: {"email" => "a *** h *** @ *****. Com"}

Моя конечная точка API код такой, как показано ниже:

  post "google_oauth2_signin" do
    redirect "/users/auth/google_oauth2/callback?#{params.to_query}"
  end

Может кто-нибудь подсказать мне, где я ошибаюсь? Я выполнил все необходимые предварительные настройки как для клиента google, так и для google secret внутри моего devise.rb файла инициализатора.

...