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

Saml 2.0 获取Okta中用户关联的组列表,saml-2.0,okta,okta-api,Saml 2.0,Okta,Okta Api,我正试图通过在我的网站上作为服务提供商(SP)和Okta环境实现SAML2.0来与Okta SSO集成。作为我的身份提供者(IDP) 我不明白如何配置我的IDP以返回每个身份验证请求,即用户所在的组。怎样才能做到呢 此外,是否可以在我的IDP中设置服务帐户,以便我的后端可以直接询问IDP用户是否在某个特定组中?通过在Okta管理仪表板中正确配置SP应用程序,可以将组添加到SAMLResponse中。 要对现有应用程序执行此操作,请转到“管理”面板并编辑SAML设置,以包括组属性语句。 例如,如果

我正试图通过在我的网站上作为服务提供商(SP)和Okta环境实现SAML2.0来与Okta SSO集成。作为我的身份提供者(IDP) 我不明白如何配置我的IDP以返回每个身份验证请求,即用户所在的组。怎样才能做到呢


此外,是否可以在我的IDP中设置服务帐户,以便我的后端可以直接询问IDP用户是否在某个特定组中?

通过在Okta管理仪表板中正确配置SP应用程序,可以将组添加到SAMLResponse中。 要对现有应用程序执行此操作,请转到“管理”面板并编辑SAML设置,以包括
组属性语句
。 例如,如果要向SP公开包含单词
admin
的所有组,请添加一个具有适当名称的字段(即组),并指定一个具有值
*admin.
regex
过滤器

正确配置后,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>