`
m635674608
  • 浏览: 5005659 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

【OAuth2学习之路】简介

 
阅读更多

OAuth是什么?

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

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

    OAuth是OpenID的一个补充,但是完全不同的服务。

    要更形象的理解什么是OAuth,可以看如下的一个实际的举例:    

如果你开车去酒店赴宴,你经常会苦于找不到停车 位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题。 豪车一般配备两种钥匙:主钥匙和泊车钥匙。当你到酒店后,只需要将泊车钥匙交给服务生,停车的事情就由服务生去处理。与主钥匙相比,这种泊车钥匙的使用功 能是受限制的:它只能启动发动机并让车行驶一段有限的距离,可以锁车,但无法打开后备箱,无法使用车内其他设备。这里就体现了一种简单的“开放授权”思 想:通过一把泊车钥匙,车主便能将汽车的部分使用功能(如启动发动机、行驶一段有限的距离)授权给服务生。

 

    (以上摘自网络)

    这就是授权。看完上面应该对什么是OAuth应该有一个初步的了解了,但是要应用的开发中这些东西根本没什么作用?如果想了解更多这个开放标准的话,你可以去官网,也可以看RFC6749,这都是纯粹的理论。

 

OAuth是干什么的?

    了解了OAuth是什么了?OAuth是干什么的,也就显而易见的了,就是为了将自己的资源以有使用权限的方式开放出去。

 

 

为什么会有OAuth?

    为什么会要OAuth?因为OAuth能干只有他自己能干的事?所以产生了它。

 

OAuth1 和OAuth2

    简而言之,OAuth2是OAuth1的第二版本,但是OAuth2更加简单,本文讲的也都是OAuth2。可以参看wikipedia

 

OAuth2的Java实现

    OAuth2各种平台的实现都有,我现在只是看Java的实现,Java的实现的有如下几个版本:

http://my.oschina.net/jast90/blog/311851

分享到:
评论

相关推荐

    oauth2.rar

    1. **OAuth2简介** OAuth2 是一种开放标准,它允许用户让第三方应用在不泄露用户密码的情况下,通过用户代理(通常是浏览器)获取授权来访问其私有资源。这个标准定义了四种授权模式:授权码模式、简化模式、密码...

    Python-sanction一个超级简单的OAuth2客户端实现

    在Python世界里,有许多库可以帮助开发者轻松实现OAuth2,其中之一就是`sanction`。本文将深入探讨`sanction`这个轻量级库的使用方法、功能特点以及如何将其集成到你的项目中。 ### 1. `sanction`简介 `sanction`...

    Laravel开发-laravel-oauth2-greenhouse

    **Laravel 开发与 ...通过这个项目,开发者可以学习如何在 Laravel 5.2 中实现 OAuth2,并将其应用于与其他服务(如 Greenhouse)的集成。这不仅增强了应用的安全性,也为用户提供了一个更加健壮和灵活的授权机制。

    fxos-oauth2-jquery-demo:Firefox OS 的 OAuth2 OAuth3 示例

    **OAuth2 简介** OAuth2 是目前广泛使用的授权框架,允许用户授权第三方应用访问其存储在另一服务器上的资源,而无需分享用户名和密码。OAuth2分为四个角色:资源所有者、客户端、资源服务器和授权服务器。在这个...

    Laravel开发-laravel-oauth2

    在本文中,我们将深入探讨`Laravel开发-laravel-oauth2`的...通过理解和实践这个`Laravel开发-laravel-oauth2`项目,你可以学习如何在Laravel应用中安全、高效地集成OAuth 2.0,为用户提供方便且安全的第三方授权体验。

    QQ登录 PHP OAuth示例代码

    ### OAuth简介 OAuth是一个开放标准,允许用户让第三方应用访问他们存储在其他服务提供者上的信息,而无需将用户名和密码提供给第三方应用。OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存储在特定服务...

    OAuth简介及sina微博开放平台

    2. **Request Token**:当用户访问应用并请求特定服务时,应用向微博平台请求Request Token。这个临时令牌用于建立用户与应用之间的关系。 3. **OAuth Authorization**:应用引导用户到微博的授权页面,用户在此处...

    SpringCloudOAuth2.zip

    通过这个SpringCloudOAuth2.zip,我们可以学习如何利用Spring Cloud OAuth2搭建一个完整的用户认证中心和API鉴权系统,理解OAuth2的工作流程,并深入研究Spring Security的相关配置。同时,这也有助于我们掌握微服务...

    Laravel开发-oauth-5-laravel

    对于自定义OAuth服务,Laravel提供了一个名为`laravel/oauth2-server`的包,它是League OAuth2 Server的集成,使我们能够创建自己的授权服务器。 #### 安装`laravel/oauth2-server` 首先,你需要通过Composer安装`...

    Laravel开发-oauth-5-laravel .zip

    Laravel提供了OAuth 2.0服务提供者的集成,比如`league/oauth2-server`库,它使得在Laravel应用中实现OAuth 2.0变得非常简单。首先,我们需要安装这个库,并进行相应的配置,包括定义客户端、令牌类型、存储机制等。...

    java源码:豆瓣OAuth认证示例项目.rar

    在Java中,有许多库可以帮助我们处理OAuth流程,如Spring Security OAuth2、Apache Oltu等。这些库提供了便利的接口来请求授权码、交换访问令牌,以及管理刷新令牌。在这个项目中,我们可以看到如何配置和使用这些...

    oauth2_webAppFlow:OAUTH2访问Google API的Web应用程序流

    - 使用Java库:Spring Security OAuth2或Google官方的Google OAuth2 Client Library for Java可以帮助开发者轻松实现OAuth2.0流程。这些库提供了处理授权码、获取令牌和管理会话的工具。 - 配置OAuth2客户端:设置...

    api-oauth-demo:演示oAuth2基础

    ### oAuth2简介 oAuth2是Open Authorization的缩写,它定义了一个授权流程,使得应用可以获取用户的授权,以便在用户同意的情况下访问其在特定服务上的资源。oAuth2的主要角色包括: 1. **资源所有者(Resource ...

    SpringBootOauth2Client:SpringBootOauth2Client RunDemo参考

    1. **OAuth2简介** OAuth2是一种开放标准,用于授权第三方应用访问用户资源。它定义了四种角色:资源所有者(Resource Owner)、客户端(Client)、资源服务器(Resource Server)和授权服务器(Authorization ...

    my-node-oauth-demo-master.zip

    【标题】"my-node-oauth-demo-master.zip" 暗示这是一个Node.js应用程序的示例,专注于OAuth认证的实现。OAuth是一种开放标准,允许用户提供一个令牌,而不是...这对你学习和理解Node.js以及OAuth认证流程大有裨益。

    Facebook Oauth2.0 API提供接口集

    随着社交网络的日益发展,Facebook作为全球最大的社交平台之一,在数据分享方面扮演着重要角色。为了方便开发者更好地利用Facebook的功能,Facebook提供了OAuth2.0认证协议以及一系列API接口。本文将详细介绍如何...

    fiware-oauth2-client-example-php

    【FI-WARE与OAuth2简介】 FI-WARE(Future Internet - Web Application and Enabling Services)是欧洲的一个开源项目,旨在为开发智能应用提供一个开放的平台。它包含了一系列通用服务(Generic Enablers),帮助...

    OpenIDOauth2课程:使用OAuth2和OpenID Connect课程保护ASP.NET Core 3

    **OpenID Connect与OAuth2简介** OpenID Connect (OIDC) 是一个基于OAuth2协议的身份验证层,它允许用户授权第三方应用访问特定的资源,同时提供了用户身份验证的能力。OAuth2则是一个授权框架,主要用于授权应用...

    oauth-server:Spring启动oauth

    Spring Security OAuth2 是Spring社区为实现OAuth 2.0 提供的扩展库,它提供了构建OAuth2授权服务器和资源服务器的全面支持。在这个项目中,“oauth-server-master”可能包含了配置和代码,用于搭建一个OAuth 2.0 ...

Global site tag (gtag.js) - Google Analytics