Single sign on SAML,为桌面应用程序将ACS Url设置为localhost

Single sign on SAML,为桌面应用程序将ACS Url设置为localhost,single-sign-on,desktop-application,saml,Single Sign On,Desktop Application,Saml,我们有一个桌面应用程序,它需要支持SAML身份验证。UI层已经在electron上运行了,因此简单的方法是只使用electron,创建一个带有SAML提供者URL的选项卡/窗口,获取SAML令牌并将其发送到我们的服务 然而,我想实现的是,通过单点登录可以说让用户更顺畅。用户很可能已经在其默认浏览器上登录到SAML提供程序。但运行默认浏览器意味着我无法控制它,也无法拦截SAML令牌。因此,我提出了这种方法: 当配置SAML连接器(不确定它们的真正名称)时,我们告诉管理员将“ACS(消费者)URL

我们有一个桌面应用程序,它需要支持SAML身份验证。UI层已经在electron上运行了,因此简单的方法是只使用electron,创建一个带有SAML提供者URL的选项卡/窗口,获取SAML令牌并将其发送到我们的服务

然而,我想实现的是,通过单点登录可以说让用户更顺畅。用户很可能已经在其默认浏览器上登录到SAML提供程序。但运行默认浏览器意味着我无法控制它,也无法拦截SAML令牌。因此,我提出了这种方法:

  • 当配置SAML连接器(不确定它们的真正名称)时,我们告诉管理员将“ACS(消费者)URL”设置为
    http://127.0.0.1:1234/saml
    而不是实际的消费者
  • 桌面应用程序使用SAML提供程序的单一登录URL启动默认浏览器
  • 用户进行身份验证,或已在浏览器上进行身份验证
  • 浏览器被重定向到
    http://127.0.0.1:1234/saml
    使用SAML令牌
  • 运行一个小型HTTP服务的桌面应用程序抓取令牌并按其意愿使用(将其用于oauth);并返回
    window.close()到浏览器
我有没有漏掉什么洞?将“ACS(消费者)URL”设置为localhost是否符合SAML良好实践?这会被认为不利于安全吗