当前位置: 首页 > 面试题库 >

如何从Java与ADFS通讯?

詹高畅
2023-03-14
问题内容

我们有一个在CauchoResin上运行的网站。它主要是使用JSP用Java编写的。我们在网站上拥有自己的自定义身份验证。(我们没有使用任何第三方身份验证框架。)现在,我们希望支持使用SAML的联合身份验证。首先,IdP将运行ADFS,但是我的问题是关于SAML的。特别是,
如何 使用OpenSAML,Shibboleth或某些其他Java兼容选项 与Java应用程序中的上游Id联合

编辑:另一个选项将是OAuth。优点?缺点?


问题答案:

您的应用程序需要直接(从您的代码)或间接(例如,通过反向代理,应用程序服务器等对SAML SP的支持)充当SAML SP。

对于 直接选项 (需要对应用程序进行更多修改),您可以:

  • 自己编写SAML SP的代码(很有可能使用OpenSAML,您可以在现有产品的源中找到示例)
  • 使用现成的产品将其集成到您的应用程序中,例如Spring SAML或OpenAM Fedlet

对于 间接选项 (需要对应用程序进行更少的修改),您可以:

  • 在Apache反向代理上使用Shibboleth SAML SP插件(如果使用的话)
  • 将SAML SP部署为容器上的另一个应用程序(例如Spring SAML或OpenAM)并使其与您的应用程序通信-因此SAML SP通过ADFS执行身份验证,并将其通过共享cookie或自定义令牌与您的应用程序通信

您可以在此线程中找到更多比较详细信息和注意事项。

ADFS 3应该支持OAuth Authorization
Server,并且很可能是一种更简单的集成方式,请参见此处和此处。使用OAuth实施身份验证通常比SAML容易得多,并且没有相关的缺点。



 类似资料:
  • 在我的MVC网站上,如果我检测到一个ADFS账户被使用,我会重定向到一个ADFS登录页面。在用户输入他们的ADFS凭据后,ADFS站点将< code>WsFederationMessage回发到我的站点。如何验证作为此< code>WsFederationMessage的一部分呈现给我的站点的ADFS令牌? 在 中间件类中,我有以下调用 方法的相关代码: 当我尝试调用时,我遇到了这个错误: 描述:

  • ADFS(Ali Distributed File System)是基于hadoop开源分布式系统HDFS的一种优化实现,能够将HDFS中单点master namenode节点中的内存数据结构利用高速存储介质同步到磁盘中,同时能够提供很高的吞吐和性能。这样做能够同时解决namenode内存瓶颈问题,meta信息持久化问题和单点故障问题,以及启动时间过长等困扰用户的地方。

  • 我为OAuth2设置了ADFS3.0,我终于在我的客户端应用程序上得到了“访问令牌”。 像这样的事情: 令牌由标题部分、有效载荷和签名组成。 现在,我将请求与令牌一起发送到我的资源服务器。我想从我的资源服务器对ADFS(认证服务器和IDP)验证令牌。 这是我在adfs上的证书: 如何做到这一点? 更新:关于令牌的一些信息: 标题: 有效载荷: 签名: 计划授权授予流程(简短版本无授权授予代码详细信

  • 互联网- 从Cloudfront到ELB的流量是否需要加密?AWS是在内部转发流量,还是正常的公共请求,如果不通过https提供服务,就容易受到中间人攻击?

  • 目前,我正在尝试将。NET web应用程序(V.4.5.2)与ADFS2.0集成。我在网上找到的大部分文章都要求WIF信任来自联邦服务器的传入令牌。

  • 问题内容: 我想在Windows和Java下与USB设备通信,但是找不到一个很好的库来进行通信。我不希望用户必须安装任何额外的硬件或设备驱动程序才能使此工作正常进行。也就是说,我希望能够像其他Windows应用程序一样与USB交互。 我熟悉jUSB和JSR 80,但它们似乎都是无效项目(至少对于Windows)。 问题答案: 不久前,我对此进行了大量研究,不幸的是,所有有用的免费USB + Win