Symfony2.8 网站(SP) & OKTA(IDP)
Symfony2.8 website(SP) & OKTA(IDP)
我用 Symfony2 创建了会员网站。我在网站上使用了 FOSuserbundle。
然后我尝试使用此网站和 OKTA 设置 IDP 发起的单点登录环境,但我遇到了 SP 端设置的情况。
enter image description here
在执行第 4 步(附图)过程后,我可以使用 Firefox SAML 跟踪器看到发布的 SAML,但身份验证将失败。
列表在我做的下面。
步骤1
获取 okta-simplesamlphp-example 以设置 SimpleSAMLphp
https://github.com/jpf/okta-simplesamlphp-example
saml-autoconfig.php
$metadata_url_for = array(
'example' => 'ttps://xxxxxx.com/app/xxxxxxxxxxxxxx/sso/saml/metadata',
);
步骤2
设置 OKTA
Single sign on URL
ttp://xxxxxxxx.com/simplesamlphp/www/module.php/saml/sp/saml2-acs.php/example
Audience URI (SP Entity ID)
ttp://xxxxxxxx.com/simplesamlphp/www/module.php/saml/sp/metadata.php/example
Default RelayState
ttps://xxxx.okta.com/app/xxxxxxxxxxxxxxxxxxxxxxxwebsite_1/xxxxxxxxxxxxxx/sso/saml
(我通过单击管理控制台中应用程序的“登录”选项卡上的 "View Setup Instructions" 找到了 url)
步骤3
正在为会员网站安装 SamlBundle
ttps://github.com/pdias/SamlBundle
我想我缺少网站和 SimpleSAMLphp 之间的连接。如何相互连接?
如有任何帮助,我们将不胜感激。
我可以解决这个问题!
我的 SamlBundle 设置有误。
# UserBundle\Resources\config\services.xml
<service id="saml.backend.fosuser.provider" class="UserBundle\Security\User\FosBackendSamlUserProvider">
<argument type="service" id="samlauth.service"/>
<argument type="service" id="fos_user.user_manager"/>
</service>
这是示例代码,但在我的例子中应该是...
<services>
<service id="saml.backend.fosuser.provider" class="FOS\UserBundle\Security\User\FosBackendSamlUserProvider">
<argument type="service" id="samlauth.service"/>
<argument type="service" id="fos_user.user_manager"/>
</service>
class URL 应该已经改变了。
此外,我对 OKTA 的默认 RelayState 也犯了一个错误。
就像“http://xxxxxxxxxx.com/”这样的家URL。
"OKTA + simplesamlPHP + symfony2.8(with fosuserbundle) + pdias/SamlBundle"
此组合现在有效。
我用 Symfony2 创建了会员网站。我在网站上使用了 FOSuserbundle。
然后我尝试使用此网站和 OKTA 设置 IDP 发起的单点登录环境,但我遇到了 SP 端设置的情况。
enter image description here
在执行第 4 步(附图)过程后,我可以使用 Firefox SAML 跟踪器看到发布的 SAML,但身份验证将失败。
列表在我做的下面。
步骤1
获取 okta-simplesamlphp-example 以设置 SimpleSAMLphp
https://github.com/jpf/okta-simplesamlphp-example
saml-autoconfig.php
$metadata_url_for = array(
'example' => 'ttps://xxxxxx.com/app/xxxxxxxxxxxxxx/sso/saml/metadata',
);
步骤2
设置 OKTA
Single sign on URL
ttp://xxxxxxxx.com/simplesamlphp/www/module.php/saml/sp/saml2-acs.php/example
Audience URI (SP Entity ID)
ttp://xxxxxxxx.com/simplesamlphp/www/module.php/saml/sp/metadata.php/example
Default RelayState
ttps://xxxx.okta.com/app/xxxxxxxxxxxxxxxxxxxxxxxwebsite_1/xxxxxxxxxxxxxx/sso/saml
(我通过单击管理控制台中应用程序的“登录”选项卡上的 "View Setup Instructions" 找到了 url)
步骤3
正在为会员网站安装 SamlBundle
ttps://github.com/pdias/SamlBundle
我想我缺少网站和 SimpleSAMLphp 之间的连接。如何相互连接?
如有任何帮助,我们将不胜感激。
我可以解决这个问题!
我的 SamlBundle 设置有误。
# UserBundle\Resources\config\services.xml
<service id="saml.backend.fosuser.provider" class="UserBundle\Security\User\FosBackendSamlUserProvider">
<argument type="service" id="samlauth.service"/>
<argument type="service" id="fos_user.user_manager"/>
</service>
这是示例代码,但在我的例子中应该是...
<services>
<service id="saml.backend.fosuser.provider" class="FOS\UserBundle\Security\User\FosBackendSamlUserProvider">
<argument type="service" id="samlauth.service"/>
<argument type="service" id="fos_user.user_manager"/>
</service>
class URL 应该已经改变了。
此外,我对 OKTA 的默认 RelayState 也犯了一个错误。
就像“http://xxxxxxxxxx.com/”这样的家URL。
"OKTA + simplesamlPHP + symfony2.8(with fosuserbundle) + pdias/SamlBundle"
此组合现在有效。