2016-03-09 4 views
4

Я пытаюсь интегрироваться с Okta SSO, внедряя SAML 2.0 на своем веб-сайте в качестве поставщика услуг (SP) и Okta env. как мой поставщик удостоверений (IDP) Я не могу понять, как настроить мой IDP для возврата для каждого запроса Auth, в которых находится пользователь. Как это сделать?Получение списка пользователей групп связано с Okta

Кроме того, возможно ли иметь учетную запись службы в моем IDP, что мой бэкэнд может напрямую обратиться к IDP, если пользователь находится внутри определенной группы?

ответ

8

Можно добавить группы в ответ 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 группа и т.д ..