antwebes / chatea-client-bundle
Symfony2 bundle for ChateaClient library, It makes it easy to use API of api.chatea.net
Installs: 2 669
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/antwebes/chatea-client-bundle
Requires
- antwebes/chatea-client-lib: 1.0.1
- antwebes/chatea-common: 0.1.0
- antwebes/chatea-secure-bundle: 0.3.*
- beelab/recaptcha2-bundle: ~2.0
- doctrine/annotations: ^1.2
- symfony/assetic-bundle: ~2.3
- symfony/symfony: ~3.4
Requires (Dev)
- phpunit/phpunit: ~4.7
- sensio/framework-extra-bundle: ^3.0
- dev-master
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.1.41
- v0.1.40
- v0.1.39
- v0.1.38
- v0.1.37
- v0.1.36
- v0.1.35
- v0.1.34
- v0.1.33
- v0.1.32
- v0.1.31
- v0.1.30
- v0.1.29
- v0.1.28
- v0.1.27
- v0.1.26
- v0.1.25
- v0.1.24
- v0.1.23
- v0.1.22
- v0.1.21
- v0.1.20
- v0.1.19
- v0.1.18
- v0.1.17
- v0.1.16
- v0.1.15
- v0.1.14
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-testa
- dev-develop
- dev-mans_networking_sf_28
- dev-mans_networking
- dev-symfony_28
- dev-update_27
- dev-update_28
- dev-reduce_register_errors
- dev-remove_me
- dev-fix_composer_json
- dev-pending_profile_fields
- dev-disable_photos_counter
- dev-no_skip_register
- dev-refine_register_form
- dev-addPrefixApiForJsonRequest
This package is auto-updated.
Last update: 2025-10-29 01:50:29 UTC
README
Symfony2 bundle for ChateaClient library, It makes it easy to use API of api.chatea.net
Install
- 
Añadir Bundle a AppKernel.php ( ChateaClientBundle y ChateaSecureBundle ) new Ant\Bundle\ChateaClientBundle\ChateaClientBundle() new Ant\Bundle\ChateaSecureBundle\ChateaSecureBundle() 
- 
Añadir no ficheiro de configuracion ou no routing.yml 
antwebes_chateclient:
    resource: '@ChateaClientBundle/Resources/config/routing.xml'
    prefix:   /  
- Configurar client_id y secret de la aplicación en app/config/config.yml:
chatea_secure:
    app_auth:
        client_id: %chatea_client_id%
        secret: %chatea_secret_id%
        enviroment: %chatea_enviroment%
    api_endpoint: %api_endpoint%
chatea_client:
    app_auth:
        client_id: %chatea_client_id%
        secret: %chatea_secret_id%
    api_endpoint: %api_endpoint%
    app_id: %chatea_app_id%
    authenticate_client_as_guest: true|false #optional (by deafault false) to indicate if client authenticates as guest. In case of false it authenticates with client credentials
<<<<<<< HEAD
    visits_limit: INTEGER #optional (by default 3) the number of the last N visits to show in the welcome login page
=======
    register_with_profile: true|false (by default true) to indicate if we whant to take the register profile step
    can_skip_register_profile: true|false (by default true) to indicat if we allow the skip button in the register profile page
>>>>>>> no_skip_register_register_end_step
    
beelab_recaptcha2:
    site_key:  %recaptcha_public_key%
    secret: %recaptcha_private_key%
    enabled: %recaptcha_enabled%
- Configurar el firewall en app/config/security.yml:
security:
    providers:
        antwebs_chateaclient_provider:
            id: antwebs_chateaclient_user_provider
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        login:
            pattern:  ^/auth/login$
            security: false
        secured_area:
            pattern:    ^/
            anonymous: ~
            antwebs_chateaclient_login:
                check_path: _security_check
                login_path: _antwebes_chateaclient_login
                provider: antwebs_chateaclient_provider
            logout:
                invalidate_session: false
                path:   _antwebes_chateaclient_logout
                target: nombre_ruta_a_derigir_tras_logout
                handlers: [antwewebs_revoke_access_on_logout_handler]
Autenticación
Por defecto todas las llamadas a apichatea se hacen con el usario de la aplicación.
Si desea realizar una llamada a apichatea que requiere un usuario logueado use la anotación @APIUser.
Está implementada en:
Ant\Bundle\ChateaClientBundle\EventListener\AuthTokenUpdaterListener;
Dicha anotación averiguará si el usuario está autenticado y en caso de ser así realizara las llamadas a apichatea con el usuario logueado. Ejemplo:
namespace Acme\MiBundel\Controller;
use Ant\Bundle\ChateaClientBundle\Security\Authentication\Annotation\APIUser;
class UsuarioController
{
    /**
     * @APIUser
     *
     */
    public function actualizarNombreUsuarioAction()
    {
        //código
    }
}
Si todos los médodos de un controlador requieren un usuario logueado puede poner la anotación en la clase. Ejemplo:
namespace Acme\MiBundel\Controller;
use Ant\Bundle\ChateaClientBundle\Security\Authentication\Annotation\APIUser;
/**
 * @APIUser
 *
 */
class AreaRestringidaController
{
    public function accion1Action()
    {
        //código
    }
    public function accion2Action()
    {
        //código
    }
}
Dicha annotación es gestionada por el listener Ant\Bundle\ChateaClientBundle\EventListener\AuthTokenUpdaterListener que escucha al evento del controlador para averiguar si debe actualizar el access token del usuario en caso necesario.
Make welcome login page work
In order to make the welcome login page work, you have to configure the twig globals boilerplate_users_base_url and  boilerplate_channels_base_url. For example:
twig:
    globals:
        boilerplate_users_base_url: http://myboilerplate.com/users
        boilerplate_channels_base_url: http://myboilerplate.com/channels
To redirect the user after login to the welcome page configure in your firewall the default_target_path to chatea_client_welcome and the always_use_default_target_path to true