Можно добавить группы в ответ SAMLResponse, настроив SP-приложение на панели управления Okta admin правильно. Чтобы сделать это для существующего приложения, зайдите в панель администратора и отредактируйте настройки SAML, чтобы включить Group attribute statements
. Например, если вы хотите выставить все группы, содержащие слово admin
, вашему SP, добавьте поле с соответствующим именем (группы i.e) и укажите фильтр 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 группа и т.д ..