SAML,sp 如何知道项目解析服务终结点在哪里?



关于SAML的一些事情。 在本文中,有一节: SP 的断言使用者服务现在将包含项目的 SAML 消息发送到 IdP 的项目解析服务端点。此交换是使用同步 SOAP 消息交换执行的。

但我只是想知道,它没有在SP中的任何位置定义工件解析服务端点的位置,SP如何知道发送到哪里?

我刚刚对 Tableau 的 saml sso 进行了测试,我的系统充当 IDP,当我的 idp 发送重定向到 sp(tableau 服务器)的断言消费者服务时,它从不调用我的 idp 的工件解析服务,所以我很困惑。

这是我从互联网上复制的一些代码:

public class SingleSignOnServlet extends HttpServlet {
private static Logger logger = LoggerFactory.getLogger(SingleSignOnServlet.class);
@Override
protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
resp.sendRedirect(SPConstants.ASSERTION_CONSUMER_SERVICE + "?SAMLart=AAQAAMFbLinlXaCM%2BFIxiDwGOLAy2T71gbpO7ZhNzAgEANlB90ECfpNEVLg%3D");
}
}

我只是复制,不知道什么是"SAMLart"和"AAQAAMF...0ECfpNEVLg%3D"是以及如何更改它们,这是sp不调用工件解析的原因吗?我已经将 idp 的元数据提供给 sp,但它不包含工件解析位置,似乎我无法添加它。

一切都取决于 SAML 元数据。您的 SP 应具有它正在使用的 IdP 的元数据,并且 IdP 的元数据将告知 SP 工件解析服务所在的位置。例如

<ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp.com/artifactresolution" index="0"/>

最新更新