我正在开发这个网站。我最近添加了一个API,这样我就可以收到通知了。要获得这些通知,我键入以下url
http://localhost/pham/Claroline/web/app_dev.php/icap_notification/api/notifications.json?access_token="某些访问令牌">
目前,它只有在用户登录的情况下才能工作。在没有用户登录的条件下,它是否可以工作?我的意思是,既然我得到了访问令牌,这应该不会成为问题。事实上,我需要这样做,因为我也在开发一个移动应用程序,基本上我在应用程序中使用这个url来显示通知
谢谢大家
编辑:这是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 }
是的,这是可能的。Symfony2文档描述了可以为您的应用程序设置多个"防火墙"。
在您的情况下,您的大多数网站都有一个"正常"的,api有一个"api访问"的。当然,它们可以是不同的类型,使用不同的用户提供者(也就是不同的"用户"集合(。