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"

此组合现在有效。