2017-07-11 48 views
0

私は現在、CentOSサーバー上にサービスプロバイダとしてsimplesamlphpをインストールしています。私は次のように定義された設定/ authsources.phpを持っている:simpleSAMLphp SPメタデータが期待される代わりにhttpのentityIDを返す

'default-sp' => array(
    'saml:SP', 
    'entityID' => null, 

私は、HTTPS経由で/ SAML/URLにアクセスし、「連盟のタブに移動すると、すなわち: https://my.sp/saml/module.php/core/frontpage_federation.php

私がいることに気づきます返されるエンティティIDは「https」ではなく「http」です(これはhttpsとなるはずです)。それの内容は次のとおりです。

SAML 2.0 SP Metadata 
Entity ID: http://my.sp/saml/module.php/saml/sp/metadata.php/default-sp 
default-sp 
[ Show metadata ] 

私は、URLがhttps://my.sp/saml/module.php/saml/sp/metadata.php/default-sp?output=xhtml、メタデータXMLは、再び "ではなく「HTTP」URLを予想外返している(URLが正しくHTTPSであることに注意)にアクセスするには「ショーメタデータ」リンクをクリックすると、 https 'は、entityIDとLocationsのURLです。リモートのIdPとメタデータを共有する場合。これは、一見問題を引き起こしている

<?xml version="1.0"?> 
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="http://my.sp/saml/module.php/saml/sp/metadata.php/default-sp"> 
    -- SNIP -- 
    <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://my.sp/saml/module.php/saml/sp/saml2-logout.php/default-sp"/> 
    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://my.sp/saml/module.php/saml/sp/saml2-acs.php/default-sp" index="0"/> 
    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="http://my.sp/saml/module.php/saml/sp/saml1-acs.php/default-sp" index="1"/> 
    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="http://my.sp/saml/module.php/saml/sp/saml2-acs.php/default-sp" index="2"/> 
    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="http://my.sp/saml/module.php/saml/sp/saml1-acs.php/default-sp/artifact" index="3"/> 
    </md:SPSSODescriptor> 
</md:EntityDescriptor> 

:XMLからの抜粋に注意してください。だから私の質問は、なぜHTTPSではなくHTTPを返すのですか?これを解決できる方法はありますか?私は、単一のSPにアクセスする2つの別々のサブドメインを持っているので、entityIDをハードコードしないことにしました。これは、現在使用されているURLがこれを指示することを可能にすると考えました(これは他のインストールでも有効です)。どんな助けもありがとう。

答えて

1

エンティティIDが/apps/simplesamlphp/config/authsources.phphttps://であるべきで、メタデータXMLは再び場所に予期しないhttp URLのではなく、実体識別子のためのhttps URLを返している理由は、あなたが生成された証明書を持っていない可能性があるので、あなたが作成する必要がありますですディレクトリ内の自己署名証明書。作成されていない場合は

auth_saml2プラグインを使用しているときと同じ状況でした。私は、SPのメタデータは、私が再生しhttp://というのでhttps://より戻ったMoodleのアプリケーションで同じプラグインを使用したとき、私はインストールして https://simplesamlphp.org/docs/stable/simplesamlphp-sp連盟タブがSPのメタデータを示していたリンクをたどることで、私のCentOSにでsimpleSAML phpを構成し は、しかし、私にhttps://を返さauth_saml2プラグインの証明書、SPメタデータよりhttps

関連する問題