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

标签 saml-2.0 okta okta-api

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

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

最佳答案

可以通过在 Okta 管理仪表板中正确配置 SP 应用程序来将组添加到 SAMLResponse。 要对现有应用执行此操作,请转到管理面板并编辑 SAML 设置以包含组属性语句。 例如,如果您想向 SP 公开包含单词 admin 的所有组,请添加一个具有正确名称的字段(即组)并指定一个带有值的 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 组等。

关于saml-2.0 - 获取 Okta 中与用户关联的组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35893311/

相关文章:

asp.net - 如何将身份验证方法添加到现有的 Okta 到 ASP.NET 项目

通过 Okta 的 Angular 2/5 和 SAML 身份验证

iphone - 基于 SAML 2.0 的 iPhone 应用程序身份验证

saml-2.0 - 添加两个具有相同证书 ADFS (SAML2.0) 的声明提供者

angularjs - 处理 AJAX 请求上的 SAML 重定向

java - ACS 请求 URL :using onelogin toolkit 中的 SAMLResponse 为空

java - 在 Okta Java SDK 中验证推送身份验证

authentication - 如何计算PCKE的code_verifier?

java - 使用 Okta 验证其余端点和 UI

android - Okta 身份验证和 OAuth 以保护 API