问:OKTA是否支持工件绑定和未经请求的标识符提供程序访问?

时间:2016-06-07 11:35:39

标签: binding saml artifact okta

我们已经阅读了OKTA指南,但有两个未解决的问题:

  1. 确实OKTA支持工件绑定https://en.wikipedia.org/wiki/SAML_2.0#HTTP_Artifact_Binding
  2. OKTA / SAML 2.0是否支持未经请求的身份提供商(IdP)工件绑定,还是必须从服务提供商(SP)重定向?
  3. 关于第一个问题

    我们面临的情况是,必须通过用户代理传输大量数据,我们也受到安全最佳实践的激励。我们认为,工件绑定是SAML 2.0的最佳安全模型;并且还有助于减少用户代理的负担。 OKTA可以支持工件绑定吗?我们无法在文档中找到肯定或否定的确认。如果这是我们的疏忽,很多道歉。

    关于第二个问题

    我们正在解决的问题是,我们正在与一个组织进行整合,该组织拥有他们推荐的产品门户,并且他们通过门户网站组织了访问。这些产品中的每一个都需要身份验证,这是单点登录(SSO)的理想选择。集成的两个方面都希望用户体验是:单击链接并登录到服务。这与任何SAML 2.0工作模式的大多数模型都不同,因为工作流程从IdP而不是SP开始。这可能在OKTA中,还是在SAML 2.0中完成?如果我们在文档中错过了这一点,那么很多道歉。

2 个答案:

答案 0 :(得分:0)

  1. 检查Okta生成的元数据。如果它支持发送给SP的消息的工件绑定,则元数据中将列出ArtifactResolutionService。

  2. SAML2标准支持未经请求的工件绑定。我不知道Okta是否这样做。

答案 1 :(得分:0)

当我检查元数据时,Okta似乎不支持这一点。

preg_match_all显示了ArtifactResolutionService项在元数据中的样子:

  <md:IDPSSODescriptor
    protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <md:KeyDescriptor use="signing">
      <ds:KeyInfo>...</ds:KeyInfo>
    </md:KeyDescriptor>
    <md:ArtifactResolutionService isDefault="true" index="0"
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
      Location="https://idp.example.org/SAML2/ArtifactResolution"/>
    <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
    <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
    <md:SingleSignOnService
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
      Location="https://idp.example.org/SAML2/SSO/Redirect"/>
    <md:SingleSignOnService
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      Location="https://idp.example.org/SAML2/SSO/POST"/>
    <md:SingleSignOnService
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
      Location="https://idp.example.org/SAML2/Artifact"/>
    <saml:Attribute
      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
      Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1"
      FriendlyName="eduPersonAffiliation">
      <saml:AttributeValue>member</saml:AttributeValue>
      <saml:AttributeValue>student</saml:AttributeValue>
      <saml:AttributeValue>faculty</saml:AttributeValue>
      <saml:AttributeValue>employee</saml:AttributeValue>
      <saml:AttributeValue>staff</saml:AttributeValue>
    </saml:Attribute>
  </md:IDPSSODescriptor>

我查看了Okta的配置,无论如何都无法启用它,因此它显示为可用服务。