gpt4 book ai didi

javascript - 如何访问我的新 Symfony API

转载 作者:行者123 更新时间:2023-11-29 21:44:36 25 4
gpt4 key购买 nike

我已经成功地结合了 FOSUserBundle、FOSOAuthServerBundle 和 FOSRestBundle。我创建了一个客户端,并且创建了一个 UserController。我有我的第一条路线

http://domain.remote/api/users [获取列表用户]。

OAuth 正在运行,我收到“拒绝访问”消息。我想编写一些访问此 api 的 javascript 代码,但恐怕我什至不知道从哪里开始。

有人可以解释一下如何验证和访问我的新 Symfony API 吗?任何例子都会非常有帮助。最好不要考虑 JS 框架,这样我就可以掌握这个概念。

[编辑]

一些附加信息。我正在编写的 JS 代码将让用户使用他们的用户名/密码登录,然后使用在幕后工作的 API 管理他们的数据。

最佳答案

是你的端点/api/users安全端点?检查您的 security.yml 文件您需要什么样的授权才能访问此端点。例如:

api:
pattern: ^/
security: true

上面的代码意味着您所有的 api url 都是安全的,需要经过身份验证的用户才能访问它。您需要访问安全上下文才能让您的用户登录。在 REST api 中处理身份验证的最常见方法是使用 OAuth 方法,最好是 OAuth2 方法。我建议你使用 FOSOAuthServerBundle处理 OAuth2。

安装包后,您需要创建 4 个实体(accesstoken、authcode、client、refreshtoken),您的 api 工作流将如下所示:

  1. 您的每台设备(例如移动应用、桌面设备)都将有一个 client_id 和 client_secret。
  2. 您将使用 FOSOAuthServerBundle token 端点 ( /oauth/v2/token ) 向您的 api 请求 token ,并传递授权类型(身份验证类型,您可以稍后自定义)和数据,例如: oauth/v2/token?client_id=<client_id>&client_secret=<client_secret>&grant_type=password&password=abc123&username=<yourlogin>
  3. 如果登录凭据有效,api 将返回一个访问 token ,您将在所有后续请求中使用该 token :http://domain.remote/api/users?access_token? Njc4NTA0MzQ3ZjE4MTBlOWU5ZGUxYTQ2ZWE3N2I2YzM4MzFjODcxMDdkYTU0MzIwOWE4Zjg4OGRiZWNjOTg2NQ

这将允许您向您的 api 发出授权请求。可以引用FOSOAuthServerBundle documentations了解更多详情。

希望对您有所帮助。

关于javascript - 如何访问我的新 Symfony API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com