在 SAML 2.0 中,您可以使用 AttributeStatement 元素来提供任何类型的应用程序特定信息。
我想知道的是,在 SAML 断言中传递业务相关信息真的很好吗?不应该在例如单独的 Web 服务调用中提供这些数据吗?
我只想在这种情况下寻求最佳实践或任何现实世界的经验。
问候, 安德烈亚斯
这在很大程度上取决于您要传达的信息。例如,在我工作的应用程序中,我们使用属性来指示应该向正在登录的用户显示哪些网站功能。这显然是一个适当的用途。现在,我们还允许使用属性来创建用户配置文件,即使我们有一个做同样事情的 Web 服务(实际上,实现在后台调用 Web 服务)。这不是那种事情的理想环境。没有端点可以传达 Web 服务响应或尝试导致的任何错误。但是我们从客户那里遇到了相当大的阻力,他们不想在进行 SSO 调用之前调用单独的 Web 服务。所以我们不得不妥协。我们的 已经完成的要求是,如果客户想要使用此特定功能,他们提供端点(电子邮件地址或网页)以接收来自 Web 服务调用的错误。如果他们担心所传递信息的安全性,他们可以使用标准的 XML 加密。