`
gjhappyyy
  • 浏览: 259539 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

oauth2.0认证和授权原理

 
阅读更多

【转:http://www.phpddt.com/%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91/oauth-2.html】

所谓OAuth(即Open Authorization,开放授权),它是为用户资源授权提供了一种安全简单的标准,也就是说用户在访问第三方web或应用的时候,第三方不会知道用户的信息(登录密码等),现在基本都支持OAuth2.0版本了。

首先来看看我们在第三方使用oauth流程如下:

第一步:用户登录第三方网站,使用qq登录。

第三方使用oauth流程1

第二步:点击登录后,会跳到qq平台提示输入用户名和密码。

第三方使用oauth流程2

第三步:如果用户名和密码正确,会提示是否接受授权,如果授权成功,第三方网站就能访问你的资源了,qq头像、用户名等

第三方使用oauth流程3

 

认证和授权过程(包括三方)

 

  1、服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。

  2、用户,存放在服务提供方的受保护的资源的拥有者。

  3、客户端,要访问服务提供方资源的第三方应用,通常是网站。在认证过程之前,客户端要向服务提供者申请客户端标识。

oauth2.0认证和授权原理       用户访问客户端的网站,想操作用户存放在服务提供方的资源。

  客户端向服务提供方请求一个临时令牌。

  服务提供方验证客户端的身份后,授予一个临时令牌。

  客户端获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方。

  用户在服务提供方的网页上输入用户名和密码,然后授权该客户端访问所请求的资源。

  授权成功后,服务提供方引导用户返回客户端的网页。

  客户端根据临时令牌从服务提供方那里获取访问令牌。

  服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。

  客户端使用获取的访问令牌访问存放在服务提供方上的受保护的资源。

分享到:
评论

相关推荐

    OAuth2.0协议原理与实现

    ### OAuth2.0协议原理与实现 #### 一、OAuth2.0协议概述 OAuth2.0协议是一种广泛应用于第三方登录及授权的标准协议。相比于OAuth1.0版本,OAuth2.0进行了多方面的优化和改进,例如简化了授权流程、取消了Token的...

    我整理的Spring Security OAuth2.0认证授权资料 手把手教会你如何使用OAuth2.0认证授权原理以及搭建

    我整理的Spring Security OAuth2.0认证授权资料 手把手教会你如何使用OAuth2.0认证授权原理以及搭建

    微信oauth2.0授权

    微信OAuth2.0授权是一种广泛应用于移动应用和网站的第三方登录解决方案,主要目的是为了安全地获取用户的微信身份标识——openid,以便提供个性化服务或者与其他微信功能集成。在本文中,我们将详细探讨微信OAuth2.0...

    完整Oauth 2.0实现实例

    OAuth 2.0 主要分为四个角色:资源所有者(Resource Owner)、客户端(Client)、授权服务器(Authorization Server)和资源服务器(Resource Server)。资源所有者是拥有数据的用户,客户端是请求访问这些资源的...

    基于Django2.1.2的OAuth2.0授权登录

    通过学习和实践这个项目,开发者不仅可以掌握OAuth2.0的原理,还能深入理解Django框架的使用,以及如何扩展其功能来满足特定需求。在"OAuth2.0_Django2.1.2-master"这个压缩包中,可能包含了项目的所有源代码和相关...

    spring security + oauth 2.0 实现单点登录、认证授权

    Spring Security和OAuth 2.0是两个在Web应用安全领域广泛应用的框架,它们结合使用可以构建强大的单点登录(SSO)和认证授权系统。在这个系统中,`xp-sso-server`代表了认证服务器,而`xp-sso-client-a`和`xp-sso-...

    API接口设计 OAuth2.0认证

    API接口设计OAuth2.0认证是一种广泛应用于现代Web服务的安全授权框架,用于保护资源服务器上的敏感数据。OAuth2.0允许第三方应用在用户许可的情况下访问其存储在特定服务提供商(如Google、Facebook)上的信息,而...

    Oauth2.0 协议 服务端 客户端 thinkphp5.0

    OAuth2.0是一种广泛使用的开放授权...理解并掌握OAuth2.0的核心原理和流程,对于开发安全、可扩展的Web应用至关重要。在这个小demo中,我们可以学习到如何在实际项目中应用OAuth2.0,提高应用程序的健壮性和安全性。

    java实现oauth2.0服务端+客户端(含JWT)

    - **OAuth2AuthenticationProvider**:处理OAuth 2.0认证的提供者,用于验证令牌的有效性。 - **OAuth2AccessTokenGenerator**:生成JWT访问令牌,包括设置有效时间、签发者等信息。 最后,测试和部署服务端和...

    c# OAuth2.0

    OAuth2.0是一种授权框架,广泛应用于Web应用和API接口的安全访问控制,允许第三方应用在用户许可的情况下,访问其存储在服务提供商上的特定资源。在C#开发环境中,我们可以使用OAuth2.0来实现社交平台如QQ和新浪的...

    OAuth2.0基本原理及应用

    OAuth2.0通过在客户端和服务提供商之间建立一个授权层,确保了用户数据的安全性。 OAuth2.0的工作流程主要包括以下几个步骤: 1. 用户打开客户端,客户端请求用户授权。 2. 用户同意授权,授权信息被传递给客户端。...

    Jwt.zip_jwt_oauth2.0_oauth2.0 加解密_php解密工具

    JWT(JSON Web Token)是一种开放的标准...了解它们的工作原理和使用方法对于构建安全的 API 和 Web 服务至关重要。而提供的 PHP 工具则简化了这一过程,帮助开发者更便捷地实现 JWT 的加解密和 OAuth 2.0 的授权流程。

    Spring Security OAuth2.0学习笔记.zip

    Spring Security OAuth2.0学习笔记 ...OAuth2.0认证的四种模式?它们的大体流程是什么? Spring cloud Security OAuth2包括哪些组件?职责? 分布式系统认证需要解决的问题? 掌握学习方法,掌握思考方式。

    springboot OAuth2.0-demo

    **OAuth2.0简介** OAuth2.0 是一个授权框架,允许第...同时,也可以作为模板,为自己的项目添加OAuth2.0认证功能。在实际开发中,还可以考虑添加刷新令牌功能,以及更复杂的权限控制策略,以适应不同业务场景的需求。

    spring oauth2.0 例子

    这个"spring oauth2.0 例子"是一个在MyEclipse集成开发环境中创建的示例项目,用于演示如何在Spring框架中实现OAuth2.0认证和授权流程。 首先,OAuth2.0的核心概念包括客户端、资源所有者(用户)、授权服务器和...

    oauth2.0apache服务端源码

    通过深入研究 Apache Amber 的源码,开发者不仅可以理解 OAuth 2.0 协议的工作原理,还能学习到如何在实际项目中实现和定制 OAuth 2.0 服务端。这将有助于提升应用的安全性和用户体验,因为用户可以在不泄露用户名和...

    oauth2.0第三方 qq、sina、baidu、renren、osc、豆瓣 等,登陆的简易封装!

    下面我们将详细探讨OAuth2.0的工作原理和在上述平台中实现第三方登录的步骤: 1. **OAuth2.0工作流程**: - **授权请求**:用户访问应用时,如果需要通过第三方账户登录,应用会重定向到第三方平台的授权页面。 -...

    OAuth2.0新浪微博简单示例

    这个“OAuth2.0新浪微博简单示例”是为初学者设计的,旨在帮助理解OAuth2.0的工作原理及其在实际应用中的实现方式,特别是与新浪微博的集成。 首先,我们来深入了解一下OAuth2.0的核心概念: 1. **客户端(Client...

    practice oauth2.0_English version

    这个"practice oauth2.0_English version"的资源涵盖了OAuth 2.0的核心概念、实施细节以及与之相关的认证、授权、计费和单点登录(SSO)等关键领域。 1. **认证(Authentication)**:OAuth 2.0并非设计为一种认证...

    Oauth2.0 实现代码

    首先,我们需要理解 OAuth 2.0 的四个主要角色:资源所有者(Resource Owner)、客户端(Client)、资源服务器(Resource Server)和授权服务器(Authorization Server)。资源所有者是拥有数据的用户,客户端是需要...

Global site tag (gtag.js) - Google Analytics