我目前停留在使用SAML 2.0在RightNow中实现SSO。从我在RightNow文档中读到的内容,它支持SAML 2.0,但几乎没有注意事项,例如发送带有SAML响应的签名证书而不支持导入元数据到RightNow。 我正在将RightNow与Oracle身份联合(11.1.1.6)集成在一起,我对前进的方向感到有些困惑。理想情况下,在集成SSO应用程序时,我们拥有有助于设置服务提供程序的元数据(理想情况下,这是一个需要SSO服务的应用程序)。但是,如果没有提供者元数据,我无法弄清楚如何将RightNow应用程序设置为服务提供者! RightNow有没有办法生成和下载元数据!?如果没有,如何配置它?有没有例子可以指示我展示如何做到这一点?
感谢你的时间和精力。提前谢谢。
@Andy - 元数据文件
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="https://myorg--test.custhelp.com/fed/sp" validUntil="2023-05-07T16:44:40.193Z">
<ds:Signature></ds:Signature>
<md:SPSSODescriptor WantAssertionsSigned="false" AuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>X509_CERTIFICATE</ds:X509Certificate>
<ds:X509IssuerSerial>
<ds:X509IssuerName>
X509_ISSUER_NAME</ds:X509IssuerName>
<ds:X509SerialNumber>X509_SERIAL_NUMBER</ds:X509SerialNumber>
</ds:X509IssuerSerial>
<ds:X509SubjectName>X509_SUBJECT_NAME</ds:X509SubjectName>
</ds:X509Data>
</ds:KeyInfo>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes192-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
</md:KeyDescriptor>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified</md:NameIDFormat>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://myorg--test.custhelp.com/cgi-bin/myorg.cfg/php/admin/sso_launch.php?p_subject=Account.Login" index="0" isDefault="true"/>
<md:AttributeConsumingService index="0" isDefault="true">
<md:ServiceName xml:lang="en">https://myorg--test.custhelp.com/cgi-bin/myorg.cfg/php/admin/sso_launch.php</md:ServiceName>
<md:RequestedAttribute Name="uid" isRequired="true"/>
</md:AttributeConsumingService>
</md:SPSSODescriptor>
<md:Organization>
<md:OrganizationName xml:lang="en">My Organization RightNow Customer Experience Site</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="en">My Organization RightNow Customer Experience</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="en">http://www.my-org.com</md:OrganizationURL>
</md:Organization>
</md:EntityDescriptor>
在Oracle RightNow中点击SSO URL后,我没有得到回复。我使用FireFox的SAML跟踪器插件验证了这一点,并且没有返回错误代码。我还使用%error_code%和%session%变量配置了SAML_ERROR_URL。 X509证书已上传到RightNow,并且已设置USE_KNOWN_ROOT_CAS。
我的预感是终点网址与它有关。从这里向前走? 再次感谢你的帮助安迪。
答案 0 :(得分:2)
RightNow + SAML是一种痛苦,无法调试,但可以做到。经过多次试验和错误,我已经能够在过去与OIF合作。
应该有一种手动方式在OIF中创建服务提供者。 RightNow没有任何方法可以自动生成OIF元数据,但这里有一个可以用作起点的存根。您需要为特定网站进行一些替换:
<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="RightNow-Site" validUntil="2023-05-07T16:44:40.193Z">
<md:SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>YOUR_PUBLIC_CERT_HERE</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://my-url.custhelp.com/cgi-bin/my-interface.cfg/php/admin/sso_launch.php?p_subject=Account.Login" index="0" isDefault="true"/>
<md:AttributeConsumingService index="0" isDefault="true">
<md:ServiceName xml:lang="en">MY_SERVICE_NAME</md:ServiceName>
<md:RequestedAttribute Name="mail" isRequired="true"/>
</md:AttributeConsumingService>
</md:SPSSODescriptor>
</md:EntityDescriptor>
我之前尝试的其他说明: