Как отправить приглашение = согласие через ueberauth_google

Когда пользователь уже дал согласие на приложение (например, когда пользователь отказывается от создания учетной записи во время первоначальной попытки, а затем повторяет попытку), Google не будет повторно запрашивать согласие, если prompt=consent пройдено (см. документацию). Без запроса согласия Google не будет предоставлять токен обновления для вызывающего сервера. А без маркера обновления сервер не может взаимодействовать с ресурсами пользователя (например, отправлять электронную почту от имени пользователя).

У ueberauth_google есть механизм для настройки approval_prompt, но это другой параметр, чем prompt, Есть ли способ отправить prompt=consent используя ueberauth_google? (Обратите внимание, если я добавлю %26prompt%3Dconsent на URL-адрес, на который меня отправляет ueberauth_google, Google запрашивает у меня, и наш сервер получает токен обновления.)

1 ответ

В вашем config.exs вам нужно добавить приглашение: "согласие"

config :ueberauth, Ueberauth,
  providers: [
    google:
      {Ueberauth.Strategy.Google,
       [
         access_type: "offline",
         prompt: "consent",
         default_scope:
           "https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtube.upload https://www.googleapis.com/auth/userinfo.profile"
       ]}
  ]

Но это еще не было объединено с ueberauth_google. В настоящее время вы можете перейти по адресу: deps/ueberauth_google/lib/ueberauth/ стратегии /google.ex

И отредактируйте эту строку вручную

Другие вопросы по тегам