首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OAuth代理-我们应该代理所有的东西还是仅仅代理?

问OAuth代理-我们应该代理所有的东西还是仅仅代理?
EN

Stack Overflow用户
提问于 2012-09-05 09:32:36
回答 1查看 1.1K关注 0票数 2

我们正在构建一个SaaS应用程序,让我们称之为http://mysaasapp.com。当用户注册时,他们使用子域名http://myinstance.mysaasapp.com或自定义域名http://instance.mycompany.com等访问实例。

我们正在考虑与其他服务(Facebook、twitter等)集成,这样我们的用户就可以在他们的实例中链接到这些服务上的帐户。对于OAuth重定向回调,Twitter非常宽容(当我们提出OAuth请求时,回调/重定向URL可以由我们设置)。然而,Facebook并不那么宽大,回调/重定向域是在应用程序在facebook.com上的配置中设置的

当用户在他们的实例上使用自定义域名时,他们可以选择使我们站点上的子域(http://myinstance.mysaasapp.com)不活跃。这意味着我们不能将OAuth的回调域设置为mysaasapp.com,并期望它能够工作。

解决方案是使用OAuth代理(http://proxy.mysaasapp.com)。我们以前使用过HybridAuth,我们认为应该能够轻松地将它转换为OAuth代理。

话虽如此,但:

  • 我们应该只使用OAuth代理来代理Auth请求吗?一旦我们获得了访问令牌,我们是应该继续通过代理请求,还是应该直接从我们的实例连接到提供者?换句话说,是否有任何OAuth安全API将API调用(在身份验证之后)限制在特定定义域上?
  • 我应该如何保护OAuth代理,以便请求只能来自应用程序的实例,而响应只能发送到应用程序的实例?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-07 06:41:02

所以这就是我最后要做的。

我创建了一个非常简单的web应用程序,它是围绕HybridAuth构建的。这个网络应用程序将托管在oauth.mydomain.com。

当用户在自己的实例中想要连接到诸如Facebook这样的提供者时,应用实例通过发布提供者类型和一些其他信息来做服务器到oauth.mydomain.com的连接。代理返回一个令牌。

然后,我们将用户重定向到oauth.mydomain.com,同时将令牌作为get参数传递。oauth.mydomain.com使令牌无效,并将信息存储在用户的会话中。

然后,用户继续与提供程序进行身份验证。如果成功,oauth.mydomain.com会将使用者令牌和键发送回特定端点的实例。

当发布完成后,我们将它们重定向回它们在theirdomain.com上的页面

我决定不代理所有请求(只代理auth请求),因为这是一种简单的方法,而且提供者(至少是我看过的)只在auth过程中实现域限制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12278401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档