问题标签 [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.
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 设置用户提供程序。我找不到任何关于如何为此设置提供程序的好的文档。
我的安全会议
你们觉得怎么样。有任何想法吗?
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:
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 始终为空。
有谁知道,我在这里做错了什么?我完全被卡住了,非常感谢任何帮助!
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
mobile - 移动应用程序和 OAuth 集成
我们目前正在为外部生态系统中的 OAuth 进行设计。当然,这个想法是移动应用程序将使用用户凭据授予类型向 OAuth 服务器进行身份验证,以获取令牌以进行进一步的工作流。另一方面,受保护的资源服务器将使用相同的 OAuth 服务器验证令牌信息并做出相应的响应。
一切都很清楚,但有一个问题:要让它工作,我们必须交付应用程序,其中包含在代码中编译的客户端密码。这打开了一个很大的安全漏洞。有没有办法避免它,或者它甚至是一个问题?
谢谢,
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:
symfony - 使用 FOSOAuthServerBundle 进行范围验证
我将 FOSOAuthServerBundle 与 Symfony 2.7 一起使用。
我想使用范围来区分两种类型的客户:
scope_default
:客户端只能访问经过身份验证的用户信息scope_master
:客户端可以读取所有内容
reachable_scopes
我在我的Client
实体中添加了该属性。
如果客户不允许,我如何确保客户不会要求scope_master
?
谢谢 !
php - FOSAuthBundle 注册事件 onPreAuthorizationProcess 从未调用
我想在 OAuth 上设置事件侦听器以记录连接失败和连接。
我在 services.yml 中注册了一个事件监听器,定义了 EventListener/OAuthEventListener 类,其中包含一个在事件被调用时触发的方法。
在我的 API 中,我只是调用 /oauth/v2/token 来登录/刷新令牌。这些调用由 fosrestbundle 处理。
我注册的方法永远不会被调用。这个 url 是否永远不会触发 fos_oauth_server.pre_authorization_process 事件?
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 角色,捆绑包总是作为范围返回。
我错过了什么?用户角色不是附加到令牌范围吗?有没有更好的方法来知道我的用户是否是管理员?
symfony - 旧的访问令牌不应该被刷新调用失效吗?
当我刷新 OAuth 访问令牌A
时,我得到一个新的访问令牌B
。但A
仍然有效,我仍然可以使用它。
刷新操作不应该使旧的访问令牌无效吗?如果不是,如果它是“设计使然”,有人可以详细说明原因吗?
注意:将 Symfony 与 FOSOAuthServerBundle 包一起使用。