2014-10-03 77 views
0

我有一个web服务和几个客户端应用程序(android和ios应用程序和一个web应用程序),使用该web服务中的信息。哪种授权类型用于客户端 - 服务器认证?

我想使用oAuth2.0验证webservice中的客户端,但我不知道这种情况下推荐使用哪种授权类型。

根据RFC6749(http://tools.ietf.org/html/rfc6749#section-1.3)有四种类型

  1. 授权码(似乎是更坏,因为它有两个阶段)
  2. 资源所有者密码凭据
  3. 客户端凭证

在这种情况下推荐使用哪种类型?

+0

授权码 – OhadR 2014-10-03 21:12:51

回答

3
  • 如果您的客户端应用程序在浏览器中使用脚本语言(JS,AngularJS ...)实现的,我推荐你使用Implicit Grant type
  • 如果您的客户端能够支持重定向(PHP网站为例),我建议你使用Authorization Code Grant typethe client directs the resource owner to an authorization server, which in turn directs the resource owner back to the client with the authorization code
  • 如果您的应用程序不支持重定向,您可以使用资源所有者密码凭据。但它需要直接访问用户的凭证。许多资源服务器不允许该授权类型来保护这些凭证。

请注意,客户端凭证授予类型在客户端是资源所有者时使用。

相关问题