rodgermd / janrain-bundle
将 Janrain 集成到 Symfony 中。基于 https://github.com/evario/JanrainBundle 的分支
v1.0.2
2013-06-06 08:41 UTC
This package is not auto-updated.
Last update: 2024-09-14 12:07:20 UTC
README
又是 EvarioJanrainBundle 的一种实现。自行承担风险使用。
关于
JanrainBundle 将 Janrain 集成到 Symfony2 项目中。
需要 FOSUserBundle 和 FOSJSRoutingBundle
安装包
将以下内容添加到 composer.json 中
"rodgermd/janrain-bundle": "dev-master"
在 AppKernel.php 中启用包
new Evario\JanrainBundle\EvarioJanrainBundle()
配置
paramters.yml
janrain_api_key : paste_api_key_here
janrain_app_id : paste_app_id_here
janrain_app_name : paste_app_name
config.yml
evario_janrain:
api_key: %janrain_api_key%
request_url: nothing
添加 twig 全局变量
twig:
...
globals:
...
janrain_application_name: %janrain_app_name%
services.yml
services:
evario.janrain.user:
class: Evario\JanrainBundle\Security\User\Provider # extend this class as you wish
arguments:
userManager: "@fos_user.user_manager"
validator: "@validator"
apiKey: %janrain_api_key%
container: "@service_container"
在 security.yml 中更改登录表单,以下为示例
main:
pattern: ^/
form_login:
provider: evario_janrain
csrf_provider: form.csrf_provider
login_path: /account/login
check_path: /account/login_check
use_referer: true
evario_janrain:
use_forward: false
login_path: /account/login
check_path: /account/janrain-check
provider: evario_janrain
logout:
path: /account/logout
anonymous: true
将 Janrain 控制器添加到路由中。可能需要更改路由前缀
routing.yml
janrain_security:
resource: "@EvarioJanrainBundle/Controller"
type : annotation
prefix : /secure
在模板中使用
在页面的任何位置添加 JavaScript。Janrain 建议在标签中添加,但如果放在 . 的底部也能工作。
{% if not app.user %}
<script type="text/javascript" src="{{ asset('bundles/evariojanrain/js/janrain_login.js') }}" application_name="{{ janrain_application_name }}"></script>
{% endif %}
添加以下类或 id 的 HTML 元素,这很重要。如果你的 Janrain 应用程序配置为弹出显示,请使用
<a class="janrainEngage" href="#">Sign-In</a>
小部件
<div id="janrainEngageEmbed"></div>