OAuth 2.0定义客户端

时间:2012-02-14 14:33:05

标签: oauth-2.0

我正在为我们的系统开发基于REST的API。我们将有几种类型的客户:

  • Web浏览器 - 加载HTML5应用后将访问我们的API
  • 我们开发的移动应用
  • 第三方开发的移动应用

我想问一下我们应该在定义客户端时使用什么策略。例如。

  • 我们系统中的每个用户是否都需要被定义为客户端,因为他们需要进行身份验证,或者Web客户端被认为是一个客户端?

  • 我们将客户端分配给我们的iPhone应用程序,将另一个客户端分配给我们的Android应用程序吗?

  • 使用我们的API的每个第三方开发者是否都获得了单独的客户端ID?

谢谢,

阿萨弗

2 个答案:

答案 0 :(得分:2)

访问 Google API console ,创建一个项目。然后访问 API Access 菜单以创建客户端ID。您将看到不同客户端类型需要哪些数据,包括Web应用程序,Android和iPhone应用程序。它可能有助于确定您自己的要求。

以下是截图:

enter image description here

答案 1 :(得分:0)

这是一个很好的问题。我一直在研究这个问题。以下是我认为我将要做的事情:

a)在OAuth方面,每个用户都没有被定义为客户端。 OAuth方面的客户端是提供授权机制的定义。 b)我将根据您需要支持的OAuth流的类型来定义我的客户

例如,

您可以为所有客户端使用相同的客户端类型。根据OAuth 2规范(http://tools.ietf.org/html/draft-ietf-oauth-v2-25),移动客户端和网络客户端被视为“公共客户”,所以也许你可以决定你只支持所有客户的隐式授权类型,这些类型可以表示为OAuth中的1个客户端类型

c)你可以决定区分不同类别用户的好处,例如你可能想要不同客户的不同令牌超时期限,所以你应该为这些用户定义不同的客户端类型。

总之,我认为您应该根据需要支持的授权类型以及需要支持的不同配置来定义OAuth客户端类型