您的端点/api/users
是安全端点吗?检查您的 security.yml 文件,您需要什么样的授权才能访问此端点。例如:
api:
pattern: ^/
security: true
上面的代码意味着您的所有 api url 都是安全的,需要经过身份验证的用户才能访问它。您需要访问安全上下文来登录您的用户。在 REST api 中处理身份验证的最常见方法是使用 OAuth 方法,最好是 OAuth2 方法。我建议你使用FOSOAuthServerBundle来处理 OAuth2。
安装 bundle 后,您需要创建 4 个实体(accesstoken、authcode、client、refreshtoken),您的 api 工作流程将如下所示:
- 您的每台设备(例如移动应用程序、桌面设备)都将有一个 client_id 和 client_secret。
- 您将使用 FOSOAuthServerBundle 令牌端点 (
/oauth/v2/token
) 向您的 api 请求令牌,传递授权类型(身份验证类型,您可以稍后自定义)和数据,例如:
oauth/v2/token?client_id=<client_id>&client_secret=<client_secret>&grant_type=password&password=abc123&username=<yourlogin>
- 如果登录凭据有效,api 将返回一个访问令牌,您将使用它来处理所有后续请求:
http://domain.remote/api/users?access_token? Njc4NTA0MzQ3ZjE4MTBlOWU5ZGUxYTQ2ZWE3N2I2YzM4MzFjODcxMDdkYTU0MzIwOWE4Zjg4OGRiZWNjOTg2NQ
这将允许您向您的 api 发出授权请求。您可以参考FOSOAuthServerBundle 文档了解更多详细信息。
希望能帮助到你。