使用.net核心删除Azure Active目录上的身份验证所需的弹出窗口

时间:2018-02-08 10:32:43

标签: azure authentication asp.net-core-2.0 adfs nightwatch.js

我正在使用带有ADFS的.net core 2.0应用程序进行身份验证。当我从linux访问Web应用程序时,我需要在办公室网络上进行额外的身份验证。在办公室外部网络或办公设备中没有问到弹出窗口。

enter image description here

我需要删除其他弹出窗口或使用Nightwatch自动化测试输入用户凭据。

2 个答案:

答案 0 :(得分:0)

不幸的是,Nightwatch和底层Selenium都不支持与此弹出窗口的交互,但您可以做的是通过URL传递用户名和密码:

client
  .url('https://username:password@example.com')

<强>更新

如果您打开第一个网址的网址不需要使用身份验证(并且看起来就是这种情况),则上述解决方案将无效。

您可以做的是在运行实际测试之前通过访问任何需要auth的URL来预先验证浏览器,因此将为此浏览器会话中的每个下一个请求添加auth标头。您也可以使用测试套件的before钩子:

module.exports = {
  before: function(client, done) {
    client.url('https://username:password@someurl.com/auth').perform(function() {
      done();
    });
  },
  ...
};

答案 1 :(得分:0)

另一种方法是创建已登录的自定义浏览器配置文件。

关于如何传递自定义firefox配置文件的有用讨论: https://github.com/nightwatchjs/nightwatch/issues/1543