Rails和OAuth2

时间:2015-01-10 21:43:27

标签: ruby-on-rails oauth oauth-2.0 bing-api

这里有更多的理论问题 - 如果您不想使用OAuth,但是如何使用需要它的API,如何使用OAuth。

例如,最近我查看了Bing Ads API并注意到他们现在要求您在此过程中执行OAuth。如果您制作的应用程序允许用户通过您的应用控制其Bing Ads帐户,那么这是有道理的。但是,假设您希望所有用户都与一个Bing Ads帐户进行互动。

是否可以在后台对所有OAuth片段进行硬编码,并且只为每个用户使用相同的身份验证,以便将他们的内容发送到同一个Bing Ads帐户。 - 如果是这样,会对此产生什么样的负面影响?

1 个答案:

答案 0 :(得分:1)

虽然如果API要求使用OAuth是不可能的,但OAuth不仅可以用于“当前用户委派给客户端的访问”用例。根据您的建议,如果您希望应用的所有用户与您的 Bing帐户(代表您在OAuth上发言)进行互动,您当然可以使用OAuth进行此操作。

对于OAuth 2.0实施,这意味着以某种方式为您的应用获取访问令牌,最好是刷新令牌,例如您自己一次通过授权代码流(也有些服务允许您在其Web UI中生成令牌)。然后,您将“硬配置”应用中的令牌并使用它/它们与Bing API进行通信。

如果包含刷新令牌以及访问令牌,那么只要旧版本到期,您的应用就可以在后端获得新的访问令牌,而您(或您的用户)不必再次通过该初始流程。

请注意,对于移动应用来说,这不是一个好习惯,您必须使用嵌入在二进制包中的令牌来分发您的应用。这些令牌很容易通过黑客攻击/扫描这些二进制文件来获取。但是当令牌用于后端服务并且从未暴露在前端时,这是一个非常有效的场景。