问题标签 [hwioauthbundle]

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 回答
991 浏览

symfony - 没有名称为“check-facebook”的资源所有者

我正在尝试使用 FOSUserBundle 实现 HWIOAuthBundle 以同时具有标准(登录和注册)和 OAuth(登录和注册)。

我不知道如何最终确定这一点。

这是我的配置文件:

配置.yml

安全.yml

路由.yml

最后是我的 User.php

当我尝试使用以下步骤进行身份验证时: * url -> /c/connect 我有 facebook 连接链接 * 单击它,然后接受 facebook 登录 * 最后返回网站,我遇到此错误:没有资源名称为“check-facebook”的所有者

0 投票
3 回答
2857 浏览

facebook - HWIOAuthBundle:没有名称为“check-google”的资源所有者

我安装了 HWIOAuthBundle。

但是当我尝试使用 Google 帐户登录时出现此错误:

没有名称为“check-google”的资源所有者。

我和其他 API 有同样的错误(Facebook、twitter ......)

这是我的 security.yml :

我的 routing.yml :

和我的 config.yml :

我的问题与No resource owner with name 'google' (HWIOAuthBundle & FOSUserBundle integration) 相同。我怎样才能解决这个问题 ?

0 投票
1 回答
263 浏览

php - Symfony 2 Oauth2 issue with HwiOauthBundle

I'm using HWIOAuthBundle (with google configuration) for authentication in one of my project.

It works very well most of the time. But at some point when I surf on the application, I get an error about the google_id. It doesn't appear on a specific page but all sudenly (after a period of inactivity). Basically, the google_id that my user provider get is suddenly null. As I'm not able to reproduce the error and it's very difficult to debug.

It seems to come from either the HWIOAuth bundle for which I'm may be using wrong configuration settings or from Symfony 2 session. But I tried changing the session life time and nothing work (as I said I'm not beeing able to reproduce the error on demand. It appears out of the blue...).

Do you have any idea how to solve this issue?

Regards

0 投票
1 回答
1459 浏览

unit-testing - 在测试控制器中禁用 DB 写入 - 激活 FOSUser 和 HWIOAuth 时注入教义.orm.default_entity_manager 会引发“致命错误”

我想在 phpunit 中对控制器进行功能测试时禁用数据库写入。

在 Symfony2 的一个项目中,我使用 phpunit 测试对保存到数据库的 API 端点的 POST 调用。FOSUser这有效,我现在在激活+时遇到回归问题HWIOAuth

为了避免 phpunit 将虚拟数据写入数据库,我在这里使用了这个技巧:Testing Controllers in Symfony2 with Doctrine to mock the entity manager,然后将模拟后的服务注入到测试系统的容器中。

$entityManagerMock->expects($this->once())->method('flush');这样,当您运行测试时,数据库端点会被模拟,并且由于您可以在该问题和下面的代码中看到,它只测试了一个 flush() 被调用。

这曾经奏效。

这个测试给出了绿色条,测试了 POST 调用,没有数据保存到数据库中。

那时,我只有默认的捆绑包+我自己的捆绑包AppKernel.php

问题

当我在AppKernel.php

配置后,在我的浏览器中手动测试一切正常,包括执行上述 POST 测试的 ajax 调用。该控制器与 FOSUser 和 HWIOAuth 无关,因为该控制器在我在内核中激活这些捆绑包之前工作。

但是,尽管手动测试确实有效,但自动化测试开始失败,而Call to a member function getRepository() on a non-object不是在我的代码行中,而是在 FOS 和 Doctrine 的内部 - 这是完整的输出:

缩小问题范围

问题是doctrine.orm.default_entity_manager我在测试阶段为其注入模拟的服务,这就是浏览器中的手动测试没有失败的原因:没有模拟,那里。

如果我编辑我的测试不使用任何模拟,只需写入真实的数据库,它就会起作用:

->set()要在没有模拟的情况下进行测试,我只需在容器中注释掉。并且为了避免Method was expected to be called 1 times, actually called 0 times.我还注释掉->expects()

然后测试绿条:

结论

  • doctrine.orm.default_entity_manager预激活 FOSUser 和 HWIOAuth 中注入模拟,工作正常
  • 当在技巧中激活这些捆绑包时AppKernel不起作用。
  • 然后我只能测试允许将真实数据写入数据库,这在测试时是不需要的。

问题

当 FOSUserBundle 和 HWIOAuthBundle 在内核中激活时,如何从 phpunit 中的测试调用控制器时禁用对数据库的写入?

谢谢!哈维。

0 投票
1 回答
336 浏览

symfony - 如何在google plus中获取familyName和givenName?

我正在使用 HWIOAuthBundle 从 google+ api 检索数据。为此,我扩展了 FOSUBUserProvider 类并重写 public function loadUserByOAuthUserResponse(UserResponseInterface $response) {}如下:

这就是在 google+ 中定义此人的方式。

我的目标只是检索givenNamefamilyName.

谢谢你给我一个想法!

0 投票
0 回答
176 浏览

php - Symfony2 HWIOAuthBundle 雅虎登录错误

我有一个带有 OAuth 身份验证的登录页面(FOSUserBundle + HWIOAuthBundle)。它正在与谷歌和 Facebook 合作。

当我尝试使用我的雅虎帐户登录时,我只是被重定向到我的登录页面而没有错误。如果我点击 Google 或 Facebook 按钮,我会被正常重定向到权限页面。

我看不出问题的原因,也不明白为什么没有例外。

在 config.yml:

在 security.yml:

在 routing.yml:

登录按钮:

0 投票
0 回答
732 浏览

symfony - symfony2 hwioauthbundle 正确配置

我尝试使用 hwioauth 捆绑包通过 salesforce 进行身份验证,但我无法运行 whi 配置。我收到以下消息:

恐怕我不了解文档,或者他们缺少有关路由配置的详细信息...

我对 /demo/secured_area 的基本配置是:

路由.yml:

配置.yml:

安全性.yml:

所以我想知道应该使用哪种配置。

0 投票
1 回答
1862 浏览

symfony - HWIOAuthBundle 与 FosUserbundle 配置问题的集成

我已经按照这篇文章并使用 Github 实现了 OAuth2,成功验证后,我遇到了以下错误。

找不到路径“/secure_area/login/check-github”的控制器。也许您忘记在路由配置中添加匹配的路由?

配置.yml

安全.yml

0 投票
1 回答
1827 浏览

facebook - Symfony2 FOSUserbundle2 HWIOAuth bundle facebook 登录错误

我正在尝试实现 Facebook 登录到我的网站。我也使用 FOSUserBundle。使用 FOSUB 登录可以正常工作,但是当我尝试使用 facebook 登录时,我一到 url /login/check-facebook 就会收到错误“发生身份验证异常”。我使用本教程实现了 facebook 登录。我还从 Facebook 获得了 App ID 和 App Secret(不确定这两个是否应该设置为 aclient_idclient_secretin config.yml。也不确定我是否不需要在 facebook 中设置任何其他内容)

FOSUBUserProvider.php

用户.php

路由.yml:

配置.yml

服务.yml

0 投票
1 回答
2184 浏览

mongodb - 如何为 HWIOAuthBundle 编写用户提供程序

我想通过社交网络编写登录功能。
如果用户未登录,则将其持久化到数据库中,如果用户存在,则将用户登录。我应该在我的提供程序中写入什么?文档状态:

捆绑包需要能够根据 oauth 端点的用户响应加载用户的服务。如果您有自定义服务,它应该实现接口:HWI\Bundle\OAuthBundle\Security\Core\User\OAuthAwareUserProviderInterface。

所以这就是我写的然后卡住了

你能告诉我应该使用哪些方法吗?
谁能给我一个不使用 FOSuserBundle 的提供者示例?
谢谢