归档之于 ‘ 2014 年6 月

OAuth 2.0系列教程

作者:Jakob Jenkov   译者:林浩    校对:郭蕾 

OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。

阅读全文

OAuth 2.0系列教程(十一) 客户端证书请求和响应

原文地址:http://tutorials.jenkov.com/oauth2/client-credentials-request-response.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

客户端证书授权包含下面的参数:

grant_type 必须。必须设置到客户端证书中。
scope 可选。授权的作用域。

客户端授权响应: 客户端授权响应包含下面的参数:

阅读全文

OAuth 2.0系列教程(十) 资源拥有者密钥证书授权请求和响应

原文地址:http://tutorials.jenkov.com/oauth2/resource-owner-credentials-request-response.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

资源拥有者者密钥证书授权包含单个的请求+响应。 资源拥有者密钥证书授权请求 请求包含下面的参数:

grant_type 必须。必须设置到密码中。
username 必须。UTF-8编码的资源拥有者用户名。
password 必须。UTF-8编码的资源拥有者密码。
scope 可选。授权的作用域。

资源拥有者密钥证书授权响应 响应是包含访问令牌的JSON结构数据。JSON结构像这样:

阅读全文

OAuth 2.0系列教程(九) 契约请求和响应

原文地址:http://tutorials.jenkov.com/oauth2/implicit-request-response.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

契约请求和响应

契约授权包含一个请求和一个响应。 契约授权请求 契约授权请求包含下面的参数:

response_type 必须。必须被设置在令牌中。
client_id 必须。当客户端被注册时,有授权服务器分配的客户端标识。
redirect_uri 可选。由客户端注册的重定向URI。
scope 可选。请求可能的作用域。
state 可选(推荐)。任何需要被传递到客户端请求的URI客户端的状态。

阅读全文

OAuth 2.0系列教程(八) 授权码授权

原文地址:http://tutorials.jenkov.com/oauth2/authorization-code-request-response.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾 

授权码授权总共由2个请求和2个响应组成。一个授权请求+响应,和一个令牌请求+响应。 授权请求 授权请求被发送到授权端点以获取一个授权码。这是请求中用到的参数:

response_type 必须。必须被设置到代码里
client_id 必须。当客户端被注册时,授权服务器要标识的客户端。
redirect_uri 可选。通过客户端注册的重定向URI。
scope 可选。请求可能的作用域。
state 可选(推荐的)。任何需要被传递到客户端请求的URI客户端的状态。

阅读全文

OAuth 2.0系列教程(七) 请求和响应

原文地址:http://tutorials.jenkov.com/oauth2/request-response.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

当客户端应用请求授权和访问令牌时,它发送http请求到授权服务器,同它的授权和令牌端点。被发送来回的请求和响应取决于授权类型。记住,这四种授权类型:

  • 授权码授权
  • 契约授权
  • 资源拥有者密钥证书授权
  • 客户端证书授权

每一种授权类型的请求和响应的更多细节将在下文分开地阐释。

阅读全文

OAuth 2.0系列教程(六) 端点

原文地址:http://tutorials.jenkov.com/oauth2/endpoints.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

OAuth 2.0定义了一系列端点。端点典型的就是web服务器上的URI。比如,一个Java Servlet, JSP page, PHP page, ASP.NET网页等等。

这些端点定义有:

  • 授权端点
  • 令牌端点
  • 重定向端点

授权端点和令牌端点都位于授权服务器上,重定向端点位于客户端应用上。每个端点都会在下面讲述。

阅读全文

OAuth 2.0系列教程(五) 授权

原文地址:http://tutorials.jenkov.com/oauth2/authorization.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

当一个客户端应用想要访问拥有者托管在资源服务器的资源时,它必须先获得授权,本节将讲述客户端如何获取授权。

客户端标识,客户端密钥和重定向URI

在客户端应用能请求访问资源服务器的资源之前,客户端应用程序,必须先在资源服务器相关联的授权服务器中进行注册。

注册一个一次性的任务。一旦注册了,除非客户端注册被取消了,注册将持续有效。

注册后客户端应用将由授权服务器分配客户端标识和密钥。在授权服务器上,客户端标识和密钥是唯一标识客户端应用的。如果客户端应用注册了多个授权服务器(如Facebook, Twitter和Google等),每一个授权服务器将发出唯一的标识给该客户端应用。

阅读全文

OAuth 2.0系列教程(四) 客户端类型

原文地址:http://tutorials.jenkov.com/oauth2/client-types.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

OAuth 2.0客户端角色被细分为一系列类型和配置,本节将阐述这些类型和配置。

OAuth 2.0规范定义了两种客户端类型:

  • 保密的
  • 公有的

保密的客户端能够对外部保持客户端密码保密。该客户端密码是由授权服务器分配给客户端应用的。为了避免欺骗,该密码是授权服务器用来识别客户端的。例如一个保密的客户端可以是web应用,除了管理员,没有任何人能够访问服务器和看到该密码。

公有的客户端不能使客户端密码保密。比如移动手机应用或桌面应用会将密码嵌入在内部。这样的应用可能被破解,并且泄漏密码。这同于在用户的浏览器上运行的JavaScript应用。用户可以使用一个JavaScript调试器来寻找到应用程序,并查看客户端密码。

阅读全文

OAuth 2.0系列教程(三) 角色

原文地址:http://tutorials.jenkov.com/oauth2/roles.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

OAuth 2.0为用户和应用定义了如下角色:

  • 资源拥有者
  • 资源服务器
  • 客户端应用
  • 授权服务器

这些角色在下图中表示为:

OAuth 2.0规范中的角色定义

阅读全文

OAuth 2.0系列教程(二) 综述

原文地址:http://tutorials.jenkov.com/oauth2/overview.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

如引言所说的,OAuth 2.0是一个能够使应用彼此访问数据的开放授权协议,这里我们将阐述该协议是怎么工作的以及规范中提到的概念。该图说明了整个授权过程:

阅读全文

OAuth 2.0系列教程(一)引言

原文地址:http://tutorials.jenkov.com/oauth2/index.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

OAuth 2.0是一个应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据或者一个基于地理的应用可以访问Foursquare的用户数据等。下面是一张阐述该概念的图:

阅读全文

Java 7: 全面教程-1.3 集成开发环境(IDEs)

1.3集成开发环境(IDEs)
你完全可以用文本编辑器来写Java 程序。但是,IDE会更方便。它不仅仅可以检查你的代码语法,还可以自动填写代码,检测,和调试你的程序。另外,在你输入的时候就自动编译了,还有运行Java程序只要点击个按钮就行。这样,可以节省你很多时间。
阅读全文

Java 7: 全面教程-1.2 Java代码规格

1.2 Java代码规格

写正确的可运行的Java程序固然重要,但是写出的代码方便阅读和维护也是相当重要的。普遍相信一个软件80%的时间都花在维护上。而且,程序员的变动率非常的高,所以很有可能是别人在维护你的代码。如果你留下的程序源代码是清楚且简单易懂的,不管是谁都会非常感谢你。 阅读全文

Java 7: 全面教程-1.1 第一个Java程序

1.1第一个Java程序
这个小节主要介绍的是关于Java 开发的主要步骤:写代码,转换成字节码,和运行字节码。
阅读全文

return top