获取 Okta 中与用户关联的组列表

2024-01-04

我正在尝试通过在我的网站中作为服务提供商 (SP) 和 Okta env 实施 SAML 2.0 来与 Okta SSO 集成。作为我的身份提供商 (IDP) 我无法理解如何配置我的 IDP 以返回每个身份验证请求、用户所在的组。如何完成?

另外,是否可以在我的 IDP 中拥有服务帐户,以便我的后端可以直接询问 IDP 用户是否位于某个特定组内?


通过在 Okta 管理仪表板中正确配置 SP 应用程序,可以将组添加到 SAMLResponse。 为了对现有应用程序执行此操作,请转到管理面板并编辑 SAML 设置以包含Group attribute statements。 例如,如果您想公开包含单词的所有组admin到您的 SP,添加一个具有正确名称(即组)的字段并指定regex过滤值.*admin.*.

正确配置后,SAMLResponse 将包含以下节点:

<saml2p:Response 
    xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" 
    ......
    ......
    <saml2p:Status 
        xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
        <saml2p:StatusCode 
            Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
    </saml2p:Status>
    <saml2:Assertion 
        ......
        ......
        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" 
        <saml2:AttributeStatement 
            xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
            <saml2:Attribute 
                Name="groups" 
                NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
                <saml2:AttributeValue 
                    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                    xsi:type="xs:string">admins_group_1
                </saml2:AttributeValue>
                <saml2:AttributeValue 
                    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                    xsi:type="xs:string">it_admins
                </saml2:AttributeValue>
            </saml2:Attribute>
        </saml2:AttributeStatement>
    </saml2:Assertion>
</saml2p:Response>

请注意,组将包含所有包含该单词的组admin,无论是Okta组、AD组等等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Okta 中与用户关联的组列表 的相关文章

随机推荐