我有使用水豚/硒对Safari浏览器的认证问题。
我使用这个代码来验证:
visit "https://#{ENV['AUTH_USERNAME']}:#{ENV['AUTH_PASSWORD']}@my-staging-app.heroku.com"
这只是正常的Chrome和FF但不是在Safari浏览器。
任何想法如何绕过这个?
好吧,我发现这个解决方案。我不得不使用例如使用反向代理Nginx的和发送适当的头:)
下面是我已经做到了:
在这个例子中我将使用creds login: admin
和password: secret123
。
转到https://www.base64encode.org和编码您creds admin:secret123
。
在这个例子中它是YWRtaW46c2VjcmV0MTIz
brew install nginx
sudo vim /usr/local/etc/nginx/nginx.conf
过去有这样的代码:
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
server_name localhost;
location / {
proxy_pass https://your_app.herokuapp.com;
proxy_set_header Authorization "Basic YWRtaW46c2VjcmV0MTIz";
}
}
}
更改proxy_pass
,以配合您的应用网址。
而proxy_set_header
到Authorization "Basic <your_encoded_creds>"
然后:brew services start nginx
从现在起,当你打你http://localhost:8080
会被重定向到你的页面和登录。