ruby-on-rails - google - omniauth rails api
Omniauth-twitter con Rails 5 dejó de funcionar! OAuth:: no autorizado 403 prohibido (7)
Todo funcionaba bien y Omniauth dejó de funcionar repentinamente. No hice ningún cambio de código.
Revisé la configuración de las aplicaciones de Twitter: tengo una URL de devolución de llamada a mi URL de producción principal y la URL de devolución de llamada está bloqueada en No. Todas las claves son correctas.
¿Alguna idea? 🤔
OAuth :: no autorizado
403 Prohibido
Acabo de resolver el problema poniendo https://domain/oauths/callback
en la lista de URL de https://domain/oauths/callback
de llamada. Asegúrese de habilitar la opción de bloqueo de devolución de llamada.
Ahora en la URL de devolución de llamada de twitter, debe agregar 2 URL de devolución de llamada y la URL de devolución de llamada debe ser la ruta de su aplicación.
Me había enfrentado al mismo problema, ahora al agregar la 2ª URL de devolución de llamada, está solucionado.
Para obtener más información, visite: https://twittercommunity.com/t/action-required-sign-in-with-twitter-users-must-whitelist-callback-urls/105342
Es casi seguro que esto está relacionado con este cambio: https://twittercommunity.com/t/action-required-sign-in-with-twitter-users-must-whitelist-callback-urls/105342 : el https://twittercommunity.com/t/action-required-sign-in-with-twitter-users-must-whitelist-callback-urls/105342 .
Desde el enlace:
En 30 días, comenzaremos a aplicar la lista blanca de manera que cualquier URL que no se agregue a la lista blanca fallará. Esto significa que las URL ya no se pueden anular mediante programación en las llamadas al punto final 112 de oauth / request_token. El parámetro callback_url proporcionado debe coincidir con una de las URL de devolución de llamada en la lista blanca. Si bien generalmente proporcionamos un aviso de más de 30 días para cambios como este, esta línea de tiempo nos permite continuar brindando una experiencia segura para los desarrolladores y nuestros usuarios.
Puede agregar URL de devolución de llamada a su lista blanca en la página de configuración de aplicaciones en apps.twitter.com 488.
Active la configuración "Activar bloqueo de devolución de llamada" para comprobar que solo se aceptan las URL que haya incluido en la lista blanca. Las URL de devolución de llamada se bloquearán automáticamente y la lista blanca se aplicará a partir del 12 de junio. El ajuste "Activar bloqueo de devolución de llamada" se eliminará en esta fecha.
No pude hacer que esto funcionara en desarrollo con 127.0.0.1
así que terminé creando un registro DNS A
que apuntaba a 127.0.0.1
(por ejemplo, dev.example.com
) y lo usé en la configuración de la URL de devolución de llamada en https: // apps.twitter.com .
Estoy trabajando en desarrollo no en producción y encontré este problema usando las gemas omniauth y omniauth-twitter. Pero con estos dos URL de devolución de llamada:
http://127.0.0.1:3000
http://localhost:3000/auth/twitter/callback
Se evita el problema. Extraño, ya que el tutorial de RailsApps advierte contra el uso de ''localhost'' en Twitter.
He podido resolverlo (también para el desarrollo) agregando estas URL:
Para la producción:
https://mydomain/users/auth/twitter/callback
-
http://mydomain/users/auth/twitter/callback
Para desarrollo:
-
http://localhost:3000/users/auth/twitter/callback
La adición de una segunda URL de devolución de llamada a mysitecom/auth/twitter/callback solucionó el problema (por ahora)
———-
Actualización: Esto resolvió el problema durante unos 10 minutos. Experimentando el mismo problema ahora
Nombre de dominio Unicode. Twitter me da error: formato de nombre de dominio insostenible. Necesito coincidir exactamente con la URL de devolución de llamada, el envío por mi servidor y la URL de devolución de llamada en mi aplicación de Twitter. Solución: config / initialization / twitter.rb
OmniAuth::Strategies::Twitter.class_eval do
def callback_url
return my_custom_twitter_app_callback_url_string_variable
end
end