问题标签 [fosoauthserverbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
575 浏览

api - 将 FOSOAuthServerBundle 与 FOSUserBundle 集成

我尝试在我的 Symfony 项目中添加 FOSOAuthServerBundle 以使用 FOSUserBundle 保护我的 API。这个链接很有帮助,但我不确定用 FOSUser 替换他的用户提供者的工作流程,此外我没有像他一样的结果。你对我有什么迹象吗?

谢谢 !

0 投票
1 回答
769 浏览

symfony - 带有 FOSOAuthServer / FOSRest 和 FOSUser 的 RESTFul OAuth

我很难完全理解这里解释的客户端创建的概念。我按照帖子设置了 OAuthBundle,并尝试进行所需的更改以符合 FOSUser。虽然我不确定它是否完美。

我的情况

  • 我的网站是一个 RESTFul API,它只返回 json 或 xml。我的前端将在 AngularJS 中
  • 我结合了 FOSUser、FOSRest 和 FOSOAuth,我可能在配置中有错误。

问题

我完成了文章的第一部分的设置doctrine:schema:update。现在我应该创建一个客户端。

如何^/api为不同角色的部分设置安全性?

例子:

  • 匿名用户可以访问 POST/api/users但不能访问 GET /api/users。
  • 只有具有ROLE_ADMINDELETE 权限的用户才能访问/api/users/{id}

对于测试,我使用的是Postman(支持 OAuth1 和 2,以及其他身份验证方式)。

0 投票
1 回答
169 浏览

symfony - 如何限制谁可以获得有效的访问令牌?

我开发了一个 APIRest 服务来使用来自移动应用程序的数据。我使用了 Symfony2 包:FOSOAuthServerBundle、FOSUserBundle 和 FOSRestBundle,一切正常,但我需要区分管理面板用户和 api 用户,因为现在如果我尝试通过应用程序的管理员进行身份验证,我将获得一个令牌但是我只想用api用户获得一个有效的。

例如,对于下一个用户,我应该在第二个请求中获得一个有效的令牌,而在第一个请求中获得一个无效的授权响应,但我对他们两个都获得了一个有效的令牌:

管理员用户 (ROLE_ADMIN)

https://app.myweb.com/oauth/v2/token?username=adminuser&password=12345&client_id=...&client_secret=...&grant_type=password

应用用户 (ROLE_APP)

https://app.myweb.com/oauth/v2/token?username=appuser&password=12345&client_id=...&client_secret=...&grant_type=password

非常感谢您让我以正确的方式解决这个问题,并为我的英语感到抱歉。

0 投票
0 回答
364 浏览

javascript - FOSOAuthServerBundle 的 Javascript 客户端

我在使身份验证工作流程正常工作方面遇到了一些困难。我试过 JSO https://github.com/andreassolberg/jso/blob/master/README-getting-started.md

这是我的测试代码(忽略登录字段)

我不确定我的工作流程是否正确,因为每次我想从 URL 获取数据时,我都需要授权使用 api。
我以为我第一次尝试获取需要授权的数据时,但后来我使用了令牌,但它不适用于我的代码。
有人可以举一个很好的例子,如何使用 JSO、Hello.js 或任何其他 Javascript 客户端代码和 FosOAuthServerBundle

0 投票
0 回答
963 浏览

symfony - FOSOAuthServer:使用 HWIOAUTHBUNDLE 时无法在 api 中检索访问令牌

在使用 FOSOAuthServerBundle 作为 OAuthServer 和 HWIOAuthBundle 作为 OAuth Client 时,这两个应用程序都具有 FOSUSerBundle 集成。

我在检索访问令牌时遇到问题,该令牌将用于向客户端应用程序发送用户响应。

请任何人都可以帮助我。

FosOAuthServer config.yml 和 security.yml 如下:

安全.yml

HWIOAuthBundle 应用程序 config.yml & security.yml

配置.yml

安全.yml

0 投票
1 回答
649 浏览

php - 在 Symfony 中使用 rest 对用户进行身份验证的最佳/推荐方法是什么?

我正在 symfony 应用程序中开发 rest api。

现在,我的应用程序仅在前端(Angularjs 的 ajax 请求)上使用我的 API。将来我也想向第三方应用程序公开相同的 API。

此外,我将来还会有 Android、iPhone 应用程序等。

我已经集成了 FOSOAuthServerBundle,并尝试了所有授权类型的工作流。它的所有工作。但是我很困惑这些可以被我的应用程序使用还是仅用于喜欢与我的应用程序集成的第 3 方应用程序?

我了解第三方应用程序如何使用这些工作流程。但真的无法理解如何验证我的本机应用程序用户?

我想知道如何使用此捆绑包通过我的前端应用程序中的 rest api 对我的网站上的用户进行身份验证?

目前我正在使用 FOSUserBundle 和 form_long 来验证用户身份,但我正在更改前端以使用 Angularjs 并基于休息。所以理想情况下,身份验证应该像 form_login 身份验证一样工作,但它应该是基于休息的。

我对其进行了研究,人们建议使用“资源所有者密码凭据”,但它需要在可能不安全的 javascript 中公开客户端密码

它应该可以工作,例如用户提交用户名/密码凭据,就像它在 form_login 的情况下工作一样,但不应该重定向它应该只返回 access_token。

我是否需要编写使用 UsernamePasswordToken 和防火墙侦听器(如返回 access_token 的 OAuthListener )的客户身份验证提供程序?使用起来安全吗?

0 投票
2 回答
3893 浏览

php - Symfony2 FOSOAuthServerBundle 授权类型密码需要客户端密码

我正在集成 FOSOAuthServerBundle 来处理从移动应用程序到 Symfony2 后台的登录。我已按照此答案的说明进行操作,但由于我以前从未使用OAuth2过,因此有时我会有些迷茫。

我尝试使用“密码”登录,但由于某种原因,除非我将其指定为参数grant_type,否则它将无法正常工作。我真的应该吗?client_secretGET

这是我的请求的样子:

http://myserv.local/app_dev.php/oauth/v2/token ?client_id=1_4up4x3hpaask4g0sok0so8sg00gk48c44cc0wkwwsg8048wcog &grant_type=password &username=test@test.com &password=somepassword

client_secret除非添加参数,否则它会返回此响应:

{"error":"invalid_client","error_description":"The client credentials are invalid"}

0 投票
1 回答
1635 浏览

php - FOS\OAuthServerBundle 无法识别的字段错误

在 Symfony2 中,我正在尝试实现 FOS\OAuthServerBundle,但遇到了一个奇怪的错误。在遵循此处的指南以及 GitHub 上的官方指南之后,我遇到了一个错误,上面写着:

这是 FOS\OAuthServerBundle 中客户端实体/模型中的受保护变量。我必须在这里遗漏一些简单的东西,但对于我的生活,我无法弄清楚是什么。

有没有其他人遇到过类似的错误?

尝试转到以下位置时会发生此错误:

堆栈跟踪

0 投票
1 回答
1822 浏览

php - FOSOAuthServerBundle - 必须配置路径“security”中的子节点“providers”

我正在尝试实现 FOSOAuthServerBundle。我需要它来创建将由其他一些项目共享的集中式身份验证功能。

我从这里开始学习教程:FOSOAuthServerBundle 入门

但是我现在有一个问题:当尝试访问路由 auth.local/app_dev.php/oauth/v2/auth 时,我收到以下错误:

这是我的security.yml:

0 投票
0 回答
405 浏览

php - 保护用户凭据 FOSOauthServerBundle 密码授予

我正在集成 FOSOAuthServerBundle 来处理来自角度前端的登录。

我已经使用授权类型密码创建了一个客户端。所以我的请求看起来像: /oauth/v2/token?client_id=[CLIENTID]&client_secret=[CLIENTSECRET]&grant_type=password&username=[USERNAME]&password=[PASSWORD]

我认为这很安全,因为客户端只有授权类型的密码。唯一不安全的部分是用户凭据(用户名和密码)。它们被简单地发送到后端,我希望它们加密。

如何处理 FOSOAuthServerBundle 中的散列凭据?