使用Safari水豚硒基本的浏览器认证

问题描述 投票:0回答:1

我有使用水豚/硒对Safari浏览器的认证问题。

我使用这个代码来验证:

visit "https://#{ENV['AUTH_USERNAME']}:#{ENV['AUTH_PASSWORD']}@my-staging-app.heroku.com"

这只是正常的Chrome和FF但不是在Safari浏览器。

任何想法如何绕过这个?

ruby selenium rspec capybara safaridriver
1个回答
0
投票

好吧,我发现这个解决方案。我不得不使用例如使用反向代理Nginx的和发送适当的头:)

下面是我已经做到了:

在这个例子中我将使用creds login: adminpassword: 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_headerAuthorization "Basic <your_encoded_creds>"

然后:brew services start nginx

从现在起,当你打你http://localhost:8080会被重定向到你的页面和登录。

© www.soinside.com 2019 - 2024. All rights reserved.