我在Salesforce和Drupal之间使用Salesforce作为身份提供者和使用SimpleSAMLPHP作为服务提供者的Drupal进行SSO。当用户从Drupal网站注销时,它不会从Salesforce注销。
为了解决这个问题,我使用了' SingleLogoutService'在Drupal服务提供商中为https://salescloud--OptusFull.cs13.my.salesforce.com/secur/logout.jsp。但问题在于注销过程现在以Salesforce登录页面结束,我没有找到将其重定向到Drupal站点的方法。有没有办法将用户重定向回Drupal站点。
请从metadata / saml20-idp-remote.php
中查找元数据信息 $metadata['https://salescloud--OptusFull.cs13.my.salesforce.com'] = array (
'entityid' => 'https://salescloud--OptusFull.cs13.my.salesforce.com',
'contacts' =>
array (
),
'metadata-set' => 'saml20-idp-remote',
'expire' => 1739182548,
'SingleSignOnService' =>
array (
0 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => 'https://salescloud--OptusFull.cs13.my.salesforce.com/idp/endpoint/HttpPost',
),
1 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => 'https://salescloud--OptusFull.cs13.my.salesforce.com/idp/endpoint/HttpRedirect',
),
),
'SingleLogoutService' => 'https://salescloud--OptusFull.cs13.my.salesforce.com/secur/logout.jsp',
'ArtifactResolutionService' =>
array (
),
'keys' =>
array (
0 =>
array (
'encryption' => false,
'signing' => true,
'type' => 'X509Certificate',
'X509Certificate' => 'MIIErDCCA.....',
),
),
);
答案 0 :(得分:1)
Salesforce中有一个设置,用于控制用户通过身份提供商注销后登陆的页面。该设置位于安全控制>单点登录设置 - > - 身份提供商注销URL。如果您打开了“我的网域”,此设置将仅显示在您的SF生产组织中。
答案 1 :(得分:1)
Salesforce不支持单点登出服务 (在IdP中启动或未启动)。
如果您将Salesforce正常注销服务设置为SingleLogoutService,您将在Salesforce登录页面结束,而不会将LogoutResponse发送到SP(drupal)。此外,如果您直接从Salesforce注销,则不会向SP(drupal)发送LogoutRequest。