2016-03-15 112 views
0

有一個網站我正在努力一點。我最近添加了一個API,以便我可以收到通知。要獲得這些通知,我現在鍵入此URL從沒有登錄的訪問令牌獲取數據

http://localhost/pham/Claroline/web/app_dev.php/icap_notification/api/notifications.json?access_token=「一些訪問令牌」

因爲,如果用戶登錄它只是工作。有沒有可能讓它沒有被登錄的用戶的工作?我的意思是,因爲我獲得訪問令牌應該不成問題。其實我需要它來完成,因爲我也在開發移動應用程序,基本上我用這個網址的應用程序,以顯示通知

謝謝大家

編輯:這裏的security.yml文件

安全性:

providers: 
    user_db: 
     entity: { class: Claroline\CoreBundle\Entity\User } 

encoders: 
    Claroline\CoreBundle\Entity\User: sha512 

firewalls: 
    install: 
     pattern: ^/install 
     security: false 

    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    oauth_token: 
     pattern: ^/oauth/v2/token 
     security: false 

    oauth_authorize: 
     pattern: ^/oauth/v2/auth 
     form_login: 
      check_path: /oauth/v2/auth_login_check 
      login_path: /oauth/v2/auth_login 
      default_target_path: /oauth/v2/auth/form 
     anonymous: true 

    api: 
     pattern: ^/api 
     claro_api: true 
     #fos_oauth: true 
     #stateless: true 
     security: true 

    main: 
     pattern: ^/ 
     simple_form: 
      authenticator: claroline.core_bundle.library.security.external_authenticator 
      check_path: /login_check 
     form_login: 
      success_handler: claroline.authentication_handler 
      failure_handler: claroline.security.ajax_authentication_failure_handler 
     anonymous: ~ 
     logout: true 
     switch_user: { role: ROLE_ADMIN, parameter: _switch } 
     remember_me: 
      key:  "%secret%" 
      lifetime: 31536000 # 365 days 
      path: /
      domain: ~ 

access_decision_manager: 
    allow_if_all_abstain: false 

access_control: 
    - { path: ^/oauth/v2/auth_login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/api,     role: IS_AUTHENTICATED_FULLY } 
    - { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/connect, role: IS_AUTHENTICATED_ANONYMOUSLY } 
+0

解決了!我只需修改防火牆的api部分中的模式:^/api to/api / –

回答

0

是的,這是可能的。 Symfony2 documentation描述可能爲您的應用程序提供多個「防火牆」。

在你的情況下,你的網站大多數是「正常」的,而你的API是「api access」。當然,它們可以是不同的類型,並使用不同的用戶提供者(又稱不同的「用戶」)。