Quiero configurar un servidor de ensayo privado en heroku usando la autenticación HTTP simple. ¿Es eso posible?¿Hay alguna forma de configurar la autenticación HTTP simple para una aplicación en heroku?
Respuesta
Absolutamente. La solución más simple es simplemente poner algo en su controlador de aplicación que use el soporte básico de autenticación de Rails (vea aquí: http://railscasts.com/episodes/82-http-basic-authentication) y simplemente envolverlo en un condicional para su Rails.env
. Tenga en cuenta que en Heroku, de forma predeterminada, RAILS_ENV está configurado en producción, pero puede cambiarlo para las aplicaciones que no son de producción utilizando heroku config
(http://docs.heroku.com/config-vars).
También podría considerar la instalación de algún middleware Rack de estilo roadblock, pero yo simplemente iría con lo anterior.
una forma más limpia es dejar caer simplemente en un par de líneas de middleware de rejilla en el entorno de ensayo config, dejando la lógica del controlador solo:
# config/environments/staging.rb
MyApp::Application.configure do
config.middleware.insert_after(::Rack::Lock, "::Rack::Auth::Basic", "Staging") do |u, p|
[u, p] == ['username', 'password']
end
#... other config
end
Esta punta de cortesía de Ole Morten Amundsen. Más información, más especificación contraseña Heroku:
Esta solución es más limpia y tiene más sentido para mí porque es independiente de la infraestructura. – Juanda
Tenga en cuenta que index.html es servido directamente por el servidor web y no por Rack-Rails y, por lo tanto, la URL index.html no estará protegida. Todo lo demás servido por Rails estará protegido. –
En Rails4, lo tengo "No existe el middleware para insertar después: Estante :: Lock" de error. Reemplazar código de Adam para el siguiente:
# config/environments/staging.rb
MyApp::Application.configure do
config.middleware.use '::Rack::Auth::Basic' do |u, p|
[u, p] == ['username', 'password']
end
# ...
end
Ver: http://www.intridea.com/blog/2013/6/4/tips-and-tricks-for-deploying-rails-4-apps-on-heroku
trabajos confirmados en Rails 3.2 –
En Rails 5, middlewares quiere el módulo real, en lugar de una cadena. 'config.middleware.use :: Rack :: Auth :: Basic' – Frexuz
Hay una bonita heroku add-on que utiliza Mozilla Persona para la autenticación. Es gratis para los sitios de bajo volumen (menos de 10.000 autenticaciones por mes):
https://addons.heroku.com/wwwhisper
Muy fácil de instalar y configurar.
De acuerdo. El límite de 2 usuarios es el único problema posible. – freemanoid
solo en EE. UU.También Mozilla Persona ha sido descontinuado. '' 'El 30 de noviembre de 2016, Mozilla cerrará los servicios de persona.org. Persona.org y dominios relacionados serán desconectados .''' – Webdevotion
Otra manera de hacerlo utilizando el application_controller.rb:
# app/controllers/application_controller.rb
before_filter :http_basic_auth
def http_basic_auth
if ENV['HTTP_AUTH'] =~ %r{(.+)\:(.+)}
unless authenticate_with_http_basic { |user, password| user == $1 && password == $2 }
request_http_basic_authentication
end
end
end
y entonces usted necesita para exportar sus valores: para el desarrollo:
export HTTP_AUTH=test:test
Para heroku:
heroku config:set HTTP_AUTH=test:test
Ahora, cuando aparezca el mensaje de ventana, debe ingresar para usuario/contraseña => prueba/prueba.
Eso es, espero que lo encuentre útil.
- 1. En Heroku, ¿hay alguna forma de agregar múltiples anzuelos HTTP?
- 2. Autenticación HTTP básica para Rack :: Aplicación estática en Heroku
- 3. Cómo configurar los encabezados de respuesta HTTP (caché) en una aplicación Sinatra alojada en Heroku
- 4. ¿Hay alguna forma RESTful de configurar rutas para habtm?
- 5. ¿hay alguna forma de obtener componentes individuales de heroku toolbelt?
- 6. ¿Hay alguna forma de actualizar automáticamente la aplicación en Android?
- 7. ¿Hay alguna manera de eliminar una rama en heroku?
- 8. ¿Hay alguna manera de conectar mi consola a una aplicación heroku para ver la actividad de la aplicación/sitio web?
- 9. ¿Hay alguna forma de modularizar una aplicación JavaFX?
- 10. Configurar un proxy HTTP en una aplicación web de Spring
- 11. Forma correcta de almacenar la autenticación en una aplicación Phonegap
- 12. ¿Hay alguna manera de configurar .gitignores específicos a distancia?
- 13. ¿Hay alguna manera de configurar Fiddler para interceptar llamadas HTTP desde un servicio de Windows?
- 14. ¿Hay alguna alternativa viable a la autenticación de cookies "clásica"?
- 15. heroku + git submódulo necesita autenticación
- 16. ¿Hay alguna forma de convertir una aplicación iOS en una aplicación Mac OS X?
- 17. ¿Hay algún analizador de respuesta HTTP simple para Java?
- 18. ¿Hay alguna razón para no usar HTTP PUT y DELETE en una aplicación web?
- 19. Autenticación HTTP en J2ME
- 20. ¿La forma más rápida de compilar una aplicación Symbian simple?
- 21. ¿Hay alguna forma de convertir el correo electrónico entrante a una solicitud HTTP POST?
- 22. Autenticación HTTP condicional básica
- 23. ¿Cuál es la forma preferida de configurar una aplicación mono?
- 24. ¿Cómo configurar un archivo quartz.config en una aplicación Java simple?
- 25. deshabilitar la autenticación HTTP para la ubicación reescrita específica
- 26. ¿Cómo configurar la configuración para aceptar el token de autenticación en el encabezado HTTP?
- 27. Cómo configurar un programa de correo en la aplicación Rails para entorno de producción en Heroku
- 28. ¿Cómo detener una aplicación en Heroku?
- 29. ¿Hay alguna herramienta para controlar la respuesta HTTP?
- 30. HTTP de autenticación básica para Carpincho
Es mejor almacenar el nombre de usuario y la contraseña como variables de configuración de Heroku (http://blog.heroku.com/archives/2009/4/7/config-vars/) y hash (http: //www.zacharyfox. com/blog/ruby-on-rails/password-hashing), aunque la autenticación debería ocurrir solo si Rails.env == 'production' entonces. – avalez