OAuth提供程序,为单个应用程序提供多个使用者密钥

OAuth提供程序,为单个应用程序提供多个使用者密钥,oauth,Oauth,我正在开发一个使用OAuth的appengine应用程序。当然,我要同时处理多个版本的应用程序——一个用于开发的本地版本、一个暂存版本和一个部署版本 为了处理这些,我需要三组独立的OAuth使用者密钥/机密,因为身份验证回调是在提供者的站点上定义的 我想知道提供商是否有办法为给定的应用程序提供多个密钥/机密-这似乎比每次设置一个新应用程序更有意义。(当然,这需要提供者来实现,但实现起来似乎很自然,我还没有看到) 更一般地说,使用什么样的标准方法来处理这个问题?我的猜测是注册多个应用程序,并在应用

我正在开发一个使用OAuth的appengine应用程序。当然,我要同时处理多个版本的应用程序——一个用于开发的本地版本、一个暂存版本和一个部署版本

为了处理这些,我需要三组独立的OAuth使用者密钥/机密,因为身份验证回调是在提供者的站点上定义的

我想知道提供商是否有办法为给定的应用程序提供多个密钥/机密-这似乎比每次设置一个新应用程序更有意义。(当然,这需要提供者来实现,但实现起来似乎很自然,我还没有看到)


更一般地说,使用什么样的标准方法来处理这个问题?我的猜测是注册多个应用程序,并在应用程序中使用逻辑来确定它是处于开发模式、阶段还是部署。欢迎任何想法。

从API提供商的角度来看,您的应用程序只是一个使用API的应用程序。通常不存在不处理实时生产数据的“暂存”API。不管你在测试什么,你都是在实时数据上测试的,对吗


如果您能够注册几个不同的应用程序,例如不同的回调,那么我认为您的问题已经基本解决了。我的观点是,消费者有责任将这些东西分开。

从API提供商的角度来看,您的应用程序只是一个使用API的应用程序。通常不存在不处理实时生产数据的“暂存”API。不管你在测试什么,你都是在实时数据上测试的,对吗


如果您能够注册几个不同的应用程序,例如不同的回调,那么我认为您的问题已经基本解决了。我的观点是,将这些东西分开应该是消费者的责任。

我发现这是作为OAuth API客户端开发人员最烦人的部分之一。提供程序没有理由不允许开发人员注册重定向(回调)URI进行测试

我看到的标准方法是允许您将一个或多个域列入白名单以进行回调/重定向。Facebook有一些疯狂的设置,他们允许你通过在应用程序配置文件中的不同链接使用不同的域来“注册”多个域。我在这方面运气不太好。Twitter是其中一个更好的实现,它允许您注册多个域

在OAuth2.0(草案18或更新版本)中,这个主题得到了更好的处理。建议注册完整的URI,能够注册多个回调,并在请求时动态地选择一个回调

主要考虑的是如何使用一个分级设置来处理权限?您希望能够重用现有的批准,还是希望将这些批准分开?此外,如果API提供特殊的仅客户端调用(如客户端存储或管理工具),您希望阶段版本共享它还是保留自己的调用(以便测试不会影响生产)


最后,提供商应该提供一个完整的开发环境,包括API客户端的测试设施。大多数人不这样做。

我发现这是作为OAuth API客户端开发人员最烦人的部分之一。提供程序没有理由不允许开发人员注册重定向(回调)URI进行测试

我看到的标准方法是允许您将一个或多个域列入白名单以进行回调/重定向。Facebook有一些疯狂的设置,他们允许你通过在应用程序配置文件中的不同链接使用不同的域来“注册”多个域。我在这方面运气不太好。Twitter是其中一个更好的实现,它允许您注册多个域

在OAuth2.0(草案18或更新版本)中,这个主题得到了更好的处理。建议注册完整的URI,能够注册多个回调,并在请求时动态地选择一个回调

主要考虑的是如何使用一个分级设置来处理权限?您希望能够重用现有的批准,还是希望将这些批准分开?此外,如果API提供特殊的仅客户端调用(如客户端存储或管理工具),您希望阶段版本共享它还是保留自己的调用(以便测试不会影响生产)


最后,提供商应该提供一个完整的开发环境,包括API客户端的测试设施。大多数人都没有。

谢谢你的富有洞察力的回应(我还没有足够的代表支持投票)——很高兴看到我不是唯一一个看到问题的人。关于处理权限的问题——我想对于不同版本的应用程序,完全解耦审批的解决方案是不错的——似乎是从今天的解决方案自然演变而来的。感谢有洞察力的回应(我还没有足够的代表投赞成票)——很高兴看到我不是唯一一个看到这个问题的人。关于处理权限的问题——我想对于不同版本的应用程序,完全解耦审批的解决方案是不错的——似乎是当今解决方案的自然演变。