rodgermd/janrain-bundle

将 Janrain 集成到 Symfony 中。基于 https://github.com/evario/JanrainBundle 的分支

安装: 296

依赖者: 0

建议者: 0

安全性: 0

星标: 5

关注者: 1

分支: 0

类型:symfony-bundle

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>