我们已经阅读了OKTA指南,但有两个未解决的问题:
关于第一个问题
我们面临的情况是,必须通过用户代理传输大量数据,我们也受到安全最佳实践的激励。我们认为,工件绑定是SAML 2.0的最佳安全模型;并且还有助于减少用户代理的负担。 OKTA可以支持工件绑定吗?我们无法在文档中找到肯定或否定的确认。如果这是我们的疏忽,很多道歉。
关于第二个问题
我们正在解决的问题是,我们正在与一个组织进行整合,该组织拥有他们推荐的产品门户,并且他们通过门户网站组织了访问。这些产品中的每一个都需要身份验证,这是单点登录(SSO)的理想选择。集成的两个方面都希望用户体验是:单击链接并登录到服务。这与任何SAML 2.0工作模式的大多数模型都不同,因为工作流程从IdP而不是SP开始。这可能在OKTA中,还是在SAML 2.0中完成?如果我们在文档中错过了这一点,那么很多道歉。
答案 0 :(得分:0)
检查Okta生成的元数据。如果它支持发送给SP的消息的工件绑定,则元数据中将列出ArtifactResolutionService。
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的配置,无论如何都无法启用它,因此它显示为可用服务。