2016-06-16 3 views
0

私の研究室でShibboleth SPをOneLogin [SAML Test Connector(IdP w/attr)]と連携させようとしています。私はtestshib IDPでの作業すべてを取得することができましたが、私は私のメタデータプロバイダを変更し、私のSSOエンティティIDを更新するとき、私はちょうどこのエラーを取得:を見てみると、誤ったサーバーのURLonelogin SSO shibboleth ACS config

にPOSTで配信

SAMLメッセージを

http://testserver/Shibboleth.sso/SAML2/POST

が、これは私のOneLoginテストコネクタに置かれたときに私が得るすべては、上記のエラーです:私のメタデータファイルは、私は私のACSがあることがわかります。以下は

(エンティティIDのと削除)私のShibboleth2.xmlファイルです

<SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" clockSkew="1800"> 
<!-- Windows RequestMapper --> 
<!-- 
The RequestMap defines portions of the webspace to protect; testserver/secure here. 
--> 
<!-- 
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPRequestMap 
--> 

    <InProcess logger="native.logger"> 
     <ISAPI normalizeRequest="true" safeHeaderNames="false"> 
      <!-- 
      Maps IIS Instance ID values to the host scheme/name/port. The name is 
      required so that the proper <Host> in the request map above is found without 
      having to cover every possible DNS/IP combination the user might enter. 
      --> 
      <Site id="1" name="testserver"/> 
      <!-- 
      When the port and scheme are omitted, the HTTP request's port and scheme are used. 
      If these are wrong because of virtualization, they can be explicitly set here to 
      ensure proper redirect generation. 
      --> 
      <!-- 
      <Site id="42" name="virtual.example.org" scheme="https" port="443"/> 
      --> 
     </ISAPI> 
    </InProcess> 

<RequestMapper type="Native"> 
<RequestMap applicationId="default"> 
<Host name="testserver"> 
<Path name="secure" authType="shibboleth" requireSession="true"/> 
</Host> 
</RequestMap> 
</RequestMapper> 
<!-- 
The entityID is the name TestShib made for your SP. 
--> 
<ApplicationDefaults entityID="" REMOTE_USER="eppn"> 
<!-- 
You should use secure cookies if at all possible. See cookieProps in this Wiki article. 
--> 
<!-- 
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPSessions 
--> 
<Sessions lifetime="28800" timeout="3600" checkAddress="false" relayState="ss:mem" handlerSSL="false"> 
<!-- 
Triggers a login request directly to the TestShib IdP. 
--> 
<!-- 
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPServiceSSO 
--> 
<SSO entityID="">SAML2</SSO> 
<!-- SAML and local-only logout. --> 
<!-- 
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPServiceLogout 
--> 
<Logout>SAML2 Local</Logout> 
<!-- 

       Handlers allow you to interact with the SP and gather more information. Try them out! 
       Attribute values received by the SP through SAML will be visible at: 
       http://sdserver/Shibboleth.sso/Session 

--> 
<!-- 
Extension service that generates "approximate" metadata based on SP configuration. 
--> 

<Handler type="MetadataGenerator" Location="/Metadata" signing="false"/> 
<!-- Status reporting service. --> 
<Handler type="Status" Location="/Status" acl="127.0.0.1 ::1"/> 
<!-- Session diagnostic service. --> 
<Handler type="Session" Location="/Session" showAttributeValues="true"/> 
<!-- JSON feed of discovery information. --> 
<Handler type="DiscoveryFeed" Location="/DiscoFeed"/> 

</Sessions> 
<!-- 
Error pages to display to yourself if something goes horribly wrong. 
--> 
<Errors supportContact="[email protected]" logoLocation="/shibboleth-sp/logo.jpg" styleSheet="/shibboleth-sp/main.css"/> 
<!-- 
Loads and trusts a metadata file that describes only the Testshib IdP and how to communicate with it. 
--> 
<MetadataProvider type="XML" file="onelogin_metadata.xml"/> 
<!-- 
Attribute and trust options you shouldn't need to change. 
--> 
<AttributeExtractor type="XML" validate="true" path="attribute-map.xml"/> 
<AttributeResolver type="Query" subjectMatch="true"/> 
<AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/> 
<!-- 
Your SP generated these credentials. They're used to talk to IdP's. 
--> 
<CredentialResolver type="File" key="sp-key.pem" certificate="sp-cert.pem"/> 
</ApplicationDefaults> 
<!-- 
Security policies you shouldn't change unless you know what you're doing. 
--> 
<SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/> 
<!-- 
Low-level configuration about protocols and bindings available for use. 
--> 
<ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/> 
</SPConfig> 

メタデータ(再び機密情報が削除)

<?xml version="1.0"?> 
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://app.onelogin.com/saml/metadata/"> 
    <IDPSSODescriptor xmlns:ds="http://www.w3.org/2000/09/xmldsig#" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> 
    <KeyDescriptor use="signing"> 
     <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
     <ds:X509Data> 
      <ds:X509Certificate></ds:X509Certificate> 
     </ds:X509Data> 
     </ds:KeyInfo> 
    </KeyDescriptor> 
    <NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat> 
    <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://.onelogin.com/trust/saml2/http-post/sso/"/> 
    <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://.onelogin.com/trust/saml2/http-post/sso/"/> 
    <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://.onelogin.com/trust/saml2/soap/sso/"/> 
    </IDPSSODescriptor> 
    <ContactPerson contactType="technical"> 
    <SurName>Support</SurName> 
    <EmailAddress>[email protected]</EmailAddress> 
    </ContactPerson> 
</EntityDescriptor> 

コネクタは、これらの設定があります。

ACS (コンシューマ)URLバリデータ: ^ http://testserver/shibboleth.sso/SAML2/POST$

ACS(消費者)URL http://testserver/shibboleth.sso/SAML2/POST

+0

あなたはSPのメタデータとどのようなあなたは、コネクタに設定を共有することはできますか? – smartin

+0

更新されました。ありがとう! –

答えて

1

このguideはOneLoginのコネクタを設定する方法をあなたに説明しています。

Shibbolethで:

編集/etc/shi bboleth/shibboleth2.xmlメタデータURLをメタデータプロバイダとして追加します。

あなたはすでに、管理者としてOneLoginにログインし、テストコネクタ> SSOタブ>発行者URLをクリックすることで、このアプリケーションのメタデータURLを取得していることがわかりました。

と、ファイルにこれを追加しました:

<MetadataProvider type="XML" file="onelogin_metadata.xml"/> 

編集の/ etc/Shibbolethの/属性マップ、属性マッピングを追加します。XMLと次の属性を追加します

<!-- OneLogin attributes --> 

<Attribute name="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" id="login"> 
<AttributeDecoder xsi:type="ScopedAttributeDecoder"/> 
</Attribute> 

<Attribute name="User.Email" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" id="email"> 
<AttributeDecoder xsi:type="ScopedAttributeDecoder"/> 
</Attribute> 

<Attribute name="User.FirstName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" id="firstName"> 
<AttributeDecoder xsi:type="StringAttributeDecoder"/> 
</Attribute> 

<Attribute name="User.LastName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" id="lastName"> 
<AttributeDecoder xsi:type="StringAttributeDecoder"/> 
</Attribute> 

あなたが「間違ったサーバーのURLにPOSTで配信SAMLメッセージ」is documented経験したエラー:

When a SAML message is addressed to a location inconsistent with where the SP believes it's running, this error will be thrown. The SP pulls much of this information from the web environment. 

* Verify that the server name and port are properly set in accordance with the SP's metadata. 
* Rewriting rules in effect for the Shibboleth.sso handler path must be consistent with the SP's metadata. 
* The IdP needs to properly address the SAML response. 

録音SAML Tracer Toolといることを確認してSAMLの流れをhttp://testserver/shibboleth.sso/SAML2/POSTエンドポイントへのHTTP-POSTバインディングを使用してSAMLResponseが送信されます。

私はShibbolethの専門家ではないんだけど、hereを説明するように、多分HTTPSからHTTPに送信するという事実に関連して、説明here

+0

こんにちはsmartin。私はSAML wikiを試しましたが、運はありませんでした。私はSAMLトレーサツールを試しましたが、SAMLは両方の方法で使用されていますが、返品時には赤です。私はTestShibに戻ってきて、すべて正常に動作しました(両方の方法でグリーン)。TestShibが私と同じACSを使用していることを確認しました。だから私は何が間違っているのか分からない。 –

関連する問題