使用 Ping Federate 和 SalesForce 进行身份验证的 Java 示例代码

标签 java salesforce pingfederate

我是 SAML、SalesForce 和 PingFederate 的新手,需要使用 SAML 断言将基于 Java 的服务器与 SalesForce 和 PingFederate 集成。本质上,我需要做的是允许经过 SalesForce 身份验证的用户使用基于 Java 的服务器,而无需在从 SalesForce 定向到 Java 服务器时重新输入用户/密码信息。反过来,Java 服务器所做的更改也需要推送回 SalesForce。

我一直在尝试找到可以与基于 Java 的服务器合并的 Java 代码来处理身份验证,但我到处都找到了零碎的东西,但不是完整的解决方案。

是否有任何好的 Java 示例代码可以使用 SAML 通过 PingFederate 对 SalesForce 进行身份验证?

TIA

最佳答案

您首先需要澄清一些事情,解决方案随之而来。

  • 谁将成为身份提供商:Salesforce 还是 PingFederate?
  • Java 应用程序将成为独立的 SAML 2.0 服务提供商还是直接与负责联合的 PingFederate 集成?
<小时/>

Salesforce 作为 IdP

  • 配置 Salesforce IdP 和作为 SP 的 PingFederate 之间的 SAML 2.0 连接。 ( Salesforce doc , PingFederate doc )
  • 或者使用 PingFederate 的 Salesforce Cloud Identity Connector,它提供 IdP 适配器。 (doc)

Salesforce 作为 SP:

  • 在作为 IdP 的 PingFederate 和作为 SP 的 Salesforce 之间配置 SAML 2.0 连接。 ( PingFederate doc , Salesforce doc )
  • 或者使用 PingFederate 的 Salesforce 连接器,这可以简化配置。 (doc)

Java 应用程序作为独立 SP:

  • 使用众多适用于 Java 的 SAML 2.0 库之一,然后将 PingFederate 配置为 IdP。

Java 应用程序集成到 PingFederate:

  • PingFederate 也称为“最后一英里集成”,它有多个可用于此目的的集成套件,其中 Java IK 和 Agentless(或 RefID)IK 是我想到的两个。这两个都包含可以利用的示例应用程序。 ( Java IK doc , Agentless IK doc )

关于使用 Ping Federate 和 SalesForce 进行身份验证的 Java 示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961912/

相关文章:

频繁修改的 Java(并发)HashMap 性能

Salesforce APEX 语言规范

salesforce - Visualforce 中的 Apex SOQL 子查询

single-sign-on - 在 PingFederate 中导出/导入元数据

java - 验证帐户并获取权限

java - Java 中有 OLE 自动化吗?

java - 安全性:限制第三方软件的内部访问

java - 尝试在 Text 对象上使用 .setText 时出现 NullPointerException

api - SalesForce API查询不显示自定义字段