在Okta中获取用户组的列表

时间:2016-03-09 13:43:42

标签: saml-2.0 okta okta-api

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

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

1 个答案:

答案 0 :(得分:11)

通过在Okta管理仪表板中正确配置SP App,可以将组添加到SAMLResponse。 要为现有应用执行此操作,请转到“管理员”面板并编辑SAML设置以包含Group attribute statements。 例如,如果要将包含单词admin的所有组公开给SP,请添加具有正确名称的字段(即组),并指定值regex的{​​{1}}过滤器。

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

.*admin.*

请注意,无论是Okta组,AD组等,组都将包含所有包含单词<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> 的组。