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

security - 如何使用 Facebook 登录连接 Javascript 前端和通过 OAuth 2.0 连接 PHP 后端?

我有以下元素:

  • 一个 PHP 后端,提供一个使用 OAuth 保护的 RESTful API(带有 Symfony 2 的 FOSOAuthServerBundle)
  • Javascript 前端(AngularJS),即OAuth 客户端

我的目标是在前端为用户提供一个认证页面,允许他们通过 Javascript 登录和访问 API。

根据这篇文章,我按照以下方式执行此操作:http ://www.bubblecode.net/fr/2013/03/10/comprendre-oauth2/ (不幸的是法语,但如果你滚动一下,图表解释了标准赠款流程为英文):

  1. 我提供了一个询问用户凭据(登录名和密码)的表格
  2. 我使用OAuth 隐式授权将用户凭据交换为访问令牌。

到目前为止,一切都应该(几乎)运行良好。


现在,这个问题的原因是我想在我的前端添加 Facebook 登录。每次用户在我的前端使用 Facebook Login 注册时,这将给我一个 Facebook 访问令牌。理想情况下,我的后端应该:

  • 得到这个令牌
  • 对照 Facebook PHP API 检查它以验证它
  • 从 Facebook PHP API 检索用户 Facebook UID
  • 将其与我的应用注册用户进行比较
  • 当且仅当 Facebook UID 与我注册的应用程序用户之一匹配时,才返回访问令牌(这次是针对我自己的应用程序,而不是 Facebook)。

我的问题是:在这种用例中,我应该使用哪种类型的授权来在我的前端和后端之间进行交易(考虑到从 Javascript 客户端提供我的客户端密码当然是不可接受的)?

0 投票
0 回答
67 浏览

rest - 如何同时处理会话用户和带有 access_token 的用户?

一年前有同样的问题,但提供的解决方案不正确且不起作用。

我有 FOSUSerBUndle + FOSRestBundle + FOSOauthServerBundle 并且在 /api 路径下有一些想要保护的资源控制器。

我有普通用户从 Backbone.js 前端使用这个 API,现在我想将此 API 用于移动应用程序,所以我需要一个 access_token 逻辑。

当我使用 /api/resource?access_token=TOKEN url 时它工作得很好,但是当我以用户身份使用通常的 Web 登录表单登录时它不起作用。Symfony 抛出 401 错误。

这是一个 security.yml :

是否可以为网站和移动应用程序正确处理它?请帮忙提供建议。

0 投票
1 回答
1928 浏览

php - 使用 OAuth 2.0 单点登录

我正在开发一个使用 oauth2 对用户进行身份验证的 API。要求是为 3 个不同的 Web 应用程序开发单点登录系统。让我们来看看这个场景:

  • 用户登录到其中一个应用程序(比如说 application1)。
  • application1 收到一个令牌和一个刷新令牌。刷新令牌保存在安全会话中。
  • 用户转到第二个应用程序,例如 application2。但是刷新令牌不能用于 application2,因为它是为 application1 创建的。

无需用户登录即可为第二个应用程序生成令牌的最佳方法是什么?

任何建议都会很棒。我采取了正确的方法吗?我使用 symfony2 (FriendsOfSymfony/FOSOAuthServerBundle)

0 投票
1 回答
1356 浏览

symfony - Symfony2 oauth2 server

I want to create a oauth2 server for my websites (3 websites, 1 login). I created the server, I used FOSUserBundle and FOSOAuthServerBundle, I followed the instructions.

But I have 1 problem. I can create token through /oauth/v2/token this is fine. I can go to /oauth/v2/oauth, but when I'm redirected to the website, I have examle.com?error=invalid_request&error_description=Invalid+response+type.

And if I login at /login, I will be logged in, but no token is created. This would be fine if I only had 1 website, but I would like to make something more like Google (if you are on maps, youtube... if you want to log in, you are redirected to accounts.google.com, login, then back to the website), but I can't see how to do that right now. I guess I need to do more work, but where exactly ?

My security.yml right now:

Should I create a new login page, or user provider? Thanks :)

0 投票
2 回答
3975 浏览

symfony - 使用 FOSOAuthServerBundle 获取刷新令牌

当使用这样的 url 请求访问令牌时(客户端凭据作为授权类型):

我得到以下 json 响应:

缺少刷新令牌,知道为什么会这样吗?

我在 config.yml 中的 FOSOAuthServerBundle:

更新

客户端实体调用父实体(位于 FOSOAuthServerBundle 中)中的构造函数:

0 投票
1 回答
730 浏览

php - 将“转发”与 FOSOAuthServerBundle TokenController 一起使用

我正在定义一个新的 Controller 来充当JS 应用程序和 OAuth 服务器之间的代理。代码如下:

但是我收到以下错误,因为我转发到的 TokenController 有一个期望 OAuth 服务器作为参数的构造函数

我不知道:

  1. 我可以在哪里得到这个服务器实例
  2. 我怎样才能将它传递给 TokenController
  3. 我的方法整体是否正确
0 投票
0 回答
492 浏览

php - Android 和 Symfony2 的 OAuth2 密码流 (FOSOAuthServerBundle)

我正在尝试允许用户使用 FOSOAuthServerBundle 访问 RESTful API。我需要我的用户能够使用 Android 访问 API。我要求所述用户使用密码流连接到 API。

目前,如果我要使用带有 URI 的浏览器:

http://BASE_URL/oauth/v2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=password&username=USERNAME&password=PASSWORD

我将返回 JSON 响应:

{"access_token":"ACCESS_TOKEN","expires_in":3600,"token_type":"bearer","scope":"user","refresh_token":"REFRESH_TOKEN"}

所以我知道我的服务器能够返回令牌。但是,当我尝试使用 OAuth2 客户端向 Android 请求令牌时,我遇到了错误。我的代码如下:

我正在使用Daniel Szmulewicz aka danielsz 的密码流客户端来管理我的令牌。

日志猫:

如果您需要更多信息,请告诉我。谢谢你的帮助。

0 投票
1 回答
373 浏览

symfony - FOSAuthServerBundle 的登录和授权流程

我正在使用 symfony2 为移动应用程序构建 api。我已经设置 FOSAuthServerBundle 并正确配置它。

http://blog.tankist.de/blog/2013/07/18/oauth2-explained-part-3-using-oauth2-with-your-bare-hands/

我还可以使用客户端凭据生成一个 tokan。我还可以将用户重定向到 Outh 登录页面。我被身份验证和授权部分困住了。作为当前网站作为其自己的实体成员作为网站用户。有人可以发布一些使用 FOSAuth 的身份验证和授权过程示例吗?我是symfony的新手。

任何帮助将不胜感激。

0 投票
1 回答
7238 浏览

symfony - 服务“security.authentication.manager”依赖于不存在的服务“security.user.provider.concrete.fos_userbundle”

我遇到了一个非常令人沮丧的问题,甚至不知道在哪里进行故障排除,因为 Symfony 没有提到罪犯。

我需要构建一个 OAUTH 服务器来验证已经让 Sonata User Admin/FOSUser 捆绑包完美运行的应用程序上的移动用户。

我选择安装我以前完美使用过的 FOSOAuthServerBundle,没有太多麻烦。但是今天,我不断收到以下错误:

这是我的相关文件:

配置.yml

安全.yml

这里有一个几乎类似的问题服务“security.authentication.manager”依赖于不存在的服务“security.user.provider.concrete.fos_userbundle”,但他的问题是通过在提供程序下省略 fos_userbundle id 引起的,即在我的情况下。

有人请帮忙解释一下

0 投票
1 回答
200 浏览

php - UserProvider 没有实现正确的接口

我正在尝试将自定义 UserProvider 与 FOS 用户捆绑包和 FOS Oauth 包一起使用。我一直在关注本教程http://blog.tankist.de/blog/2013/07/17/oauth2-explained-part-2-setting-up-oauth2-with-symfony2-using-fosoauthserverbundle/

当我尝试注册我的新用户服务时,我收到以下错误

UserProvider::__construct() must implement interface Doctrine\Common\Persistence\ObjectRepository, array given

用户提供者:

用户存储库

class UserRepository extends EntityRepository implements ObjectRepository

服务.yml