子ページ
  • 同じ値が再割り当てされないeduPersonTargetedIDの生成方法

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

  • eduPersonTargetedIDのAttributeDefinitionはデフォルトのままで利用可能です。

    パネル
    title/opt/shibboleth-idp/conf/attribute-resolver.xml の設定
        <!-- Attribute Definition for eduPersonTargetedID (computedID) -->
        <resolver:AttributeDefinition xsi:type="ad:SAML2NameID" id="eduPersonTargetedID"
    nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" sourceAttributeID="computedID"> <resolver:Dependency ref="computedID" /> <resolver:AttributeEncoder xsi:type="enc:SAML1XMLObject"
    name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2XMLObject"
    name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="eduPersonTargetedID" encodeType="false" /> </resolver:AttributeDefinition>
  • Template Attribute Definitionで uid-createTimestamp の文字列を返すAttributeDefinitionを定義して、ComputedID用DataConnectorの sourceAttributeID, Dependencyで参照できるようにします。ここでは「templateePTID」という名前を用います。

    パネル
    title/opt/shibboleth-idp/conf/attribute-resolver.xml の設定
           <!-- Computed targeted ID connector -->
        <resolver:DataConnector id="computedID" xsi:type="dc:ComputedId"
                                generatedAttributeID="computedID"
                                sourceAttributeID="%{idp.persistentId.sourceAttribute}"
                                salt="%{idp.persistentId.salt}">
            <resolver:Dependency ref="%{idp.persistentId.sourceAttribute}" />
        </resolver:DataConnector>
        以下の行を追加
        <resolver:AttributeDefinition id="templateePTID" xsi:type="Template" xmlns="urn:mace:shibboleth:2.0:resolver:ad">
            <resolver:Dependency ref="myLDAP" />

            <Template>
                <![CDATA[
                    ${uid}-${createTimestamp}
                ]]>
            </Template>

            <SourceAttribute>uid</SourceAttribute>
            <SourceAttribute>createTimestamp</SourceAttribute>
        </resolver:AttributeDefinition>   ← 追加
    パネル
    title/opt/shibboleth-idp/conf/saml-nameid.properties の設定

    # For computed IDs, set a source attribute and a secret salt:
    idp.persistentId.sourceAttribute = templateePTID   ← 変更

  • LDAPから追加でcreateTimestampを取得するためにLDAP DataConnectorにReturnAttributesを定義します。

    パネル
    title/opt/shibboleth-idp/conf/attribute-resolver.xml の設定

        <resolver:DataConnector id="myLDAP" xsi:type="dc:LDAPDirectory"
            ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}"
            baseDN="%{idp.attribute.resolver.LDAP.baseDN}"
            principal="%{idp.attribute.resolver.LDAP.bindDN}"
            principalCredential="%{idp.attribute.resolver.LDAP.bindDNCredential}"
            useStartTLS="%{idp.attribute.resolver.LDAP.useStartTLS:true}">
            <dc:FilterTemplate>
                <![CDATA[
                    %{idp.attribute.resolver.LDAP.searchFilter}
                ]]>
            </dc:FilterTemplate>
            <dc:ReturnAttributes>* createTimestamp</dc:ReturnAttributes>   ← 追加(FilterTemplateの直後である必要があります)
        </resolver:DataConnector>
     

...