我将 Symfony2 与 FOSOAuthServerBundle 一起使用。我想要做的是通过 OAuth 与用户登录并使用检索到的 access_token 进行 API 调用。因此执行以下步骤:
1. GET http://localhost/oauth/v2/token?client_id=4_123456&client_secret=123456&grant_type=password&password=PASSWORD&username=USEWRNAME
2. access_token is retrieved and used for the next request
3. GET http://localhost/api2/stats?access_token=ACCESS_TOKEN
4. processing the stats
这在本地主机上工作正常,但不能在线!通过http://test.mydomain.de/oauth/v2/token检索访问令牌后,它用于 API 调用http://test.mydomain.de/api2/stats但我被重定向到提供的登录路径在 security.yml 中。
在 localhost 和 online 上使用相同的系统和数据库。有什么我应该注意的差异吗?在线使用,域设置的任何额外设置?任何想法?
安全.yml
oauth_authorize:
pattern: ^/oauth/v2/auth
form_login:
provider: my_fos_facebook_provider
check_path: _security_check
login_path: fos_user_security_login
anonymous: true
oauth_token:
pattern: ^/oauth/v2/token
security: false
api2:
pattern: ^/api2
fos_oauth: true
stateless: true
使用的客户端具有所需的grant_type,密码和用户名正确。我也用不同的 redirect_uris 尝试过(
http://localhost/
http://test.mydomain.de
),但真的有必要吗?如果是,它应该是什么样子?