【发布时间】:2013-12-04 14:24:58
【问题描述】:
我开发了一个 REST API,有两种连接方式:session 和 oauth。 基本上我的网站会使用session模式,第三方软件会使用oauth模式。
我设法让 session 和 oauth 模式在 symfony 中工作,但我不能让它们同时工作。
这是我的防火墙安全配置:
firewalls:
auth_oauth_token:
pattern: ^/auth/oauth/v2/token
security: false
api:
pattern: ^/api
anonymous: false
fos_oauth: true
stateless: true
auth:
pattern: ^/
anonymous: ~
form_login:
login_path: /auth/session/check
check_path: /auth/session/login
always_use_default_target_path: true
default_target_path: /auth/session/check
failure_path: /auth/session/check
failure_forward: false
use_forward: false
failure_forward: false
username_parameter: username
password_parameter: password
post_only: true
remember_me: false
require_previous_session: false
logout:
path: /auth/session/logout
target: /auth/session/logged_out
invalidate_session: false
会话处理:/auth/session. OAuth 处理:/auth/oauth。 api:/api。
因此,使用此配置,首先使用“api”防火墙,我可以使用令牌登录。 但即使使用会话登录,如果我不指定令牌,我将无法访问。
首先使用“auth”防火墙,我可以使用会话表单登录。 但即使我指定了令牌,我也无权访问。
我快被这个弄疯了。我在堆栈溢出中发现了有关链提供商的信息,我可能需要“链防火墙”之类的东西...如果被禁止,请检查另一个防火墙。
谢谢
【问题讨论】:
标签: php symfony-2.3 fosoauthserverbundle