问题标签 [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 回答
488 浏览

symfony - 如何将提供者设置为 oauth 令牌

我已经设置了 OAuth [使用 FOSOauthServerBudle]。我正在设置密码类型流程。

我可以获得客户端类型的访问令牌,但使用密码类型会出错。

错误:在非对象上调用成员函数 loadUserByUsername()

进一步来说

$user = $this->userProvider->loadUserByUsername($username); <-OAuthStorage.php 在第 161 行

/oauth/v2/token?client_id=[CLIENTID]&client_secret=[CLIENTSECRET]&grant_type=password&username=test&password=test

所以没有为 OAuthStorage 设置用户提供程序。我找不到任何关于如何为此设置提供程序的好的文档。

我的安全会议

你们觉得怎么样。有任何想法吗?

0 投票
0 回答
226 浏览

php - PHP:如何使用 FOSOAuthServerBundle 生成的 access_token?

我正在尝试使用基于令牌的身份验证创建 REST API 应用程序。打电话

/ouath2/v2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=client_credentials

返回access_token,没关系。
但是,当我尝试在下一个 api 请求中使用它时,服务器会引发“访问此资源需要完全身份验证”的异常。信息。我尝试了几种使用 access_token 的方法:在查询 ( /api/action?access_token=ACCESS_TOKEN) 中,在标题 ( Authorization: Bearer ACCESS_TOKEN) 中,但它们都不起作用。

你能告诉我我的配置有什么问题吗?

我的 config.yml 的一部分,带有 FOSOAuthServerBundle && FOSUserBundle:

安全性.yml:

0 投票
0 回答
1886 浏览

php - FOSOAuthServerBundle 和自定义身份验证提供程序

编辑:发现错误。代码中有一点点和平,\vendor\friendsofsymfony\oauth-server-bundle\FOS\OAuthServerBundle\Resources\config\oauth.xml其中说:

因此,当您在 config.yml 中的服务定义错误或只是拼写错误时(来自原始文档

你迷路了。没有错误,没有警告,用户提供者只是空的。无论如何,感谢您阅读这篇文章。我会在 github 上讨论这个问题。

--

我正在使用FOSOAuthServerBundle构建 OAuth2 服务器。只要我请求一个带有 grant_type=password 的 access_token 并使用一个带有自定义 UserProvider 的 form_login,一切都已启动并运行。

我的 security.yml 看起来像这样。

由于自定义用户提供程序不足以满足我的需求,因此我按照本教程实现了自定义身份验证提供程序。当我尝试使用标准登录表单登录时,这个也可以正常工作。我将 security.yml 更改为

webservice-login 来自 SecurityFactory

当我现在尝试获取访问令牌时,我收到一条错误消息:错误:

所以基本上, UserProvider 始终为空。

有谁知道,我在这里做错了什么?我完全被卡住了,非常感谢任何帮助!

0 投票
1 回答
370 浏览

php - FOSOauthServerBundle __constructor error

I've been working a RESTful API for a while now in Symfony 2. Everything seemed to be OK until last night when I created new entity classes. I'm getting an error when trying to request an access token. I get the following error message:

Please help. My s2 project uses the FOSOauthServerBundle as described in the documentation. If I override the constructor in Client it throws a fatal error: cannot call constructor.

Edit:

NB: Just to be clear everything was working fine until I generated new entities based on an updated database. I also did an update of the project's dependencies using composer update.

AccessToken.php

AuthCode.php

Client.php

RefreshToken.php

0 投票
1 回答
67 浏览

mobile - 移动应用程序和 OAuth 集成

我们目前正在为外部生态系统中的 OAuth 进行设计。当然,这个想法是移动应用程序将使用用户凭据授予类型向 OAuth 服务器进行身份验证,以获取令牌以进行进一步的工作流。另一方面,受保护的资源服务器将使用相同的 OAuth 服务器验证令牌信息并做出相应的响应。

一切都很清楚,但有一个问题:要让它工作,我们必须交付应用程序,其中包含在代码中编译的客户端密码。这打开了一个很大的安全漏洞。有没有办法避免它,或者它甚至是一个问题?

谢谢,

0 投票
1 回答
760 浏览

symfony - Symfony FOSOAuthServerBundle:未检测到访问令牌

我使用 FOSOAuthServerBundle 作为我的 oauth 端点。Resource Owner Password Credentials我使用授权方法成功生成了一个令牌:

现在我想用它来获取一些受保护的资源。所以我做了:

Bearer 似乎没有被检测到。


信息:

echo $this->get('security.token_storage')->getToken();给出: AnonymousToken(user="anon.", authenticated=true, roles="")

在标题中有:

我也尝试access_token作为查询参数传递,但没有成功。

现在我猜测config.yml或 有什么问题security.yml。以下是一些选定的部分:

配置.yml:

安全性.yml:

0 投票
0 回答
125 浏览

symfony - 使用 FOSOAuthServerBundle 进行范围验证

我将 FOSOAuthServerBundle 与 Symfony 2.7 一起使用。

我想使用范围来区分两种类型的客户:

  • scope_default:客户端只能访问经过身份验证的用户信息
  • scope_master:客户端可以读取所有内容

reachable_scopes我在我的Client实体中添加了该属性。

如果客户不允许,我如何确保客户不会要求scope_master

谢谢 !

0 投票
1 回答
633 浏览

php - FOSAuthBundle 注册事件 onPreAuthorizationProcess 从未调用

我想在 OAuth 上设置事件侦听器以记录连接失败和连接。

我在 services.yml 中注册了一个事件监听器,定义了 EventListener/OAuthEventListener 类,其中包含一个在事件被调用时触发的方法。

在我的 API 中,我只是调用 /oauth/v2/token 来登录/刷新令牌。这些调用由 fosrestbundle 处理。

我注册的方法永远不会被调用。这个 url 是否永远不会触发 fos_oauth_server.pre_authorization_process 事件?

0 投票
4 回答
2291 浏览

php - 如何处理 ROLES 和 FOSOAuthServerBundle 范围

我有一个使用 FOSOAuthServerBundle 对用户进行身份验证的基本 api。用户可以具有 ROLE_USER 和 ROLE_ADMIN 角色。基于 FOSOAuthServerBundle 文档,默认行为是使用作用域作为角色,所以我认为当我有一个普通用户时,包会scope: user在响应中返回,而当它是管理员用户时,会返回scope: admin. 但它不是这样工作的。supported_scopes捆绑包返回条目中配置的任何内容。下面是我的config.yml

我的access_control部分security.yml是空的,我的firewalls部分如下:

这样user admin,即使用户没有 ROLE_ADMIN 角色,捆绑包总是作为范围返回。

我错过了什么?用户角色不是附加到令牌范围吗?有没有更好的方法来知道我的用户是否是管理员?

0 投票
1 回答
80 浏览

symfony - 旧的访问令牌不应该被刷新调用失效吗?

当我刷新 OAuth 访问令牌A时,我得到一个新的访问令牌B。但A仍然有效,我仍然可以使用它。

刷新操作不应该使旧的访问令牌无效吗?如果不是,如果它是“设计使然”,有人可以详细说明原因吗?

注意:将 Symfony 与 FOSOAuthServerBundle 包一起使用。