[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:01095] Re: Shibboleth IdPのShibboleth SP化について



宇羅様

情報ありがとうございます。とりあえず、

     <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}"
        noResultIsError="true">
        <dc:FilterTemplate>
            <![CDATA[
                %{idp.attribute.resolver.LDAP.searchFilter}
            ]]>
        </dc:FilterTemplate>
        <dc:ReturnAttributes>%{idp.attribute.resolver.LDAP.returnAttributes}</dc:ReturnAttributes>
        <!--
        <dc:StartTLSTrustCredential id="LDAPtoIdPCredential" xsi:type="sec:X509ResourceBacked">
            <sec:Certificate>%{idp.attribute.resolver.LDAP.trustCertificates}</sec:Certificate>
        </dc:StartTLSTrustCredential>
        -->
    </resolver:DataConnector>

のようにして試してみたのですが…。

残念ながら動作は変わらないようです。

2016-11-28 17:02:43,459 - ERROR [net.shibboleth.idp.profile.impl.ResolveAttributes:257] - Profile Action ResolveAttributes: Error resolving attributes
net.shibboleth.idp.attribute.resolver.NoResultAnErrorResolutionException: No entries returned from search
	at net.shibboleth.idp.attribute.resolver.dc.ldap.impl.StringAttributeValueMappingStrategy.map(StringAttributeValueMappingStrategy.java:62)
2016-11-28 17:02:44,779 - WARN [net.shibboleth.idp.consent.flow.ar.impl.AbstractAttributeReleaseAction:155] - Profile Action PopulateAttributeReleaseContext: Unable to locate attribute context

のようなエラーは出るのですが、SPにはリダイレクトされてしまうようです。

私の方でも、もう少し追いかけてみます。よろしくお願いします。

細川

On 2016/11/28 16:22, URA Hiroshi wrote:
株式会社創夢の宇羅です。

Mon, 28 Nov 2016 15:47:29 +0900, Tatsumi Hosokawa <xxxxxxxx@xxxxxxxxxxxxxx> said:

現在の疑問点は、IdP Bに存在してIdP Aに存在しないユーザを認証させた場合、
IdP Aで認証エラーが出るのではなく、IdP Aから遷移したIdP AのSP側で、
必要な属性が送られていないがゆえのエラーが出てしまうことです。

私の方でももう少し原因を追ってみますが、これはそういう仕様なのでしょう
か?

SPに送信する属性をLDAPから取得する構成であれば、LDAPConnectorの
noResultIsErrorをtrueに設定すると、LDAPから属性が取得できないので
エラーになると思います。

設定例は以下の通りです。

    <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}"
	noResultIsError="true">  <-- 追加
	<dc:FilterTemplate>
	    :
	

--
宇羅 博志 (URA Hiroshi) / xxx@xxxxxxxxxx
株式会社 創夢 / tel: 03-5453-1251 fax: 03-5453-1252



--
慶應義塾ITC本部  細川達己  xxxxxxxx@xxxxxxxxxxxxxx
Tel. 03-5427-1685  Fax. 03-5427-1722