`

Oauth原理详解

    博客分类:
  • Java
 
阅读更多
引用

引例:某个用户通过人人网站想访问自己MSN上的好友列表,如果直接在人人网上输入自己MSN上登录名和密码,则把这些信息暴露给了人人网,人人网没有义务帮用户保密这些信息,对自己是不安全的,所以引入Oauth。
OAuth的认证和授权的过程中涉及的三方包括:
服务商:用户使用服务的提供方,一般用来存消息、储照片、视频、联系人、文件等(比如Twitter、Sina微博等)。此处指的是MSN服务商
用  户:服务商的用户。此处指该用户
第三方:通常是网站,该网站想要访问用户存储在服务商那里的信息。此处指人人网
比如某个提供照片打印服务的网站,用户想在那里打印自己存在服务商那里的网络相册。
在认证过程之前,第三方需要先向服务商申请第三方服务的唯一标识。
OAuth认证和授权的过程如下:
1、用户访问第三方网站网站,想对用户存放在服务商的某些资源进行操作。
2、第三方网站向服务商请求一个临时令牌。
3、服务商验证第三方网站的身份后,授予一个临时令牌。
4、第三方网站获得临时令牌后,将用户导向至服务商的授权页面请求用户授权,然后这个过程中将临时令牌和第三方网站的返回地址发送给服务商。
5、用户在服务商的授权页面上输入自己的用户名和密码,授权第三方网站访问所相应的资源。
6、授权成功后,服务商将用户导向第三方网站的返回地址。
7、第三方网站根据临时令牌从服务商那里获取访问令牌。
8、服务商根据令牌和用户的授权情况授予第三方网站访问令牌。
9、第三方网站使用获取到的访问令牌访问存放在服务商的对应的用户资源。

//前面两部相当于获得服务提供商的认可,返回requestToken,楼栋钥匙,此时还未能进入特定用户家中
1.1.获取未授权的Request Token(temporary credentials)
2.2.请求用户授权Request Token
//后面两部相当于换成该用户专用的资源库访问密钥,根据返回的requestToken和用户输入的MSN用户名和密码生成自家房门钥匙
3.3.使用授权后的Request Token换取Access Token(token credentials)
4.4.使用 Access Token 访问或修改受保护资源




2 OAuth基本流程简介

    2.1 请求签名
    2.2 获取request token
    2.3 用户认证
    2.4 获取access token
    2.5 获取用户信息
    2.6 小提示
    2.7 使用OAuth发表微博

3 OAuth库和资源
分享到:
评论

相关推荐

    Oauth 原理大揭露

    OAuth原理详解 OAuth协议是一种开放标准,用于授权第三方应用程序安全地访问用户在其他服务上的资源,而无需用户提供敏感的登录信息。它旨在提供一个安全、开放且简单的授权框架。OAuth的核心理念是允许用户授权第...

    auth原理汇总

    【OAuth原理详解】 OAuth是一种开放标准,主要用于授权第三方应用程序安全地访问用户的数据,而不必获取用户的账号密码。OAuth的核心在于,它允许用户让第三方应用在一定权限范围内访问其存储在另一服务上的信息,...

    oauth认证原理

    ### OAuth 认证原理详解 OAuth 是一种开放标准授权协议,允许客户端访问服务器资源,而无需直接分享资源所有者的凭证(如用户名和密码)。本文旨在深入解析 OAuth 的基本原理及其实现过程,以便读者能够更好地理解 ...

    oauth2.md 描述了oauth2基本原理

    描述了oauth2的原理(不含代码,如需demo请联系3546766954@qq.com),简单介绍了oauth2四种验证方式

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

    **基于Django 2.1.2的OAuth2.0授权登录详解** OAuth2.0是一种开放标准,用于授权第三方应用访问用户存储在另一服务提供商(如社交媒体网站)上的私有资源,而无需共享用户的登录凭证。在Django框架中实现OAuth2.0...

    OAuth授权的Java实现详解.doc

    OAuth 授权的 Java 实现详解 OAuth 授权协议是目前最流行的身份认证标准之一,它提供了一个安全、开放、简易的标准,允许第三方应用程序访问用户资源。以下是 OAuth 授权协议的 Java 实现详解。 OAuth 授权协议的...

    spring oauth2 服务端

    **Spring OAuth2 服务端详解** OAuth2 是一个授权框架,它允许第三方应用在用户授权的情况下,访问其存储在另一应用中的特定资源。Spring OAuth2 是 Spring Security 的扩展,为 Java 开发者提供了实现 OAuth2 的...

    spring-security-oauth2

    《Spring Security OAuth2详解》 在Java开发领域,Spring Security OAuth2是一个不可或缺的安全框架,它为Web应用程序提供了强大的授权和认证功能。这个框架基于OAuth2协议,为开发者提供了构建安全API和服务的工具...

    php-oauth2.0 demo

    **PHP OAuth 2.0 演示项目详解** OAuth 2.0 是一个授权框架,广泛用于Web应用和API接口的安全访问控制。它允许第三方应用在用户授权的情况下,访问受保护的资源,如用户的社交媒体数据或者云存储内容。在这个...

    OAuth2.in.Action.2017.3.pdf

    不仅介绍了OAuth2的基本原理,还深入探讨了其实现过程中的各种细节和技术挑战,并提供了丰富的实践案例和安全建议。对于希望深入了解OAuth2并将其应用于实际项目中的开发者来说,这本书是非常宝贵的资源。

    Oauth2开发文档

    ### OAuth2.0核心知识点详解 #### 一、背景与意义 **OAuth2.0**是一种广泛应用于互联网行业的授权协议标准,旨在为第三方应用程序提供安全的API授权方式。相较于之前的OAuth1.0版本,OAuth2.0进行了多方面的优化与...

    前端开源库-oauth2-server

    **OAuth2服务器详解** OAuth2(开放授权2.0)是一种授权框架,广泛应用于Web应用程序,允许第三方应用在用户许可的情况下访问其私有资源。它主要用于保护API接口,确保只有合法的应用可以调用用户的敏感数据。`...

    oauth 详细文档

    ### OAuth 1.0 协议详解 #### 一、引言 OAuth 是一种开放标准,用于授权(Access Delegation)。此标准使客户端能够访问服务器资源,并代表资源所有者(如另一客户端或终端用户)执行操作。OAuth 提供了一种流程,...

    Python库 | oauth2sample-0.1.tar.gz

    **Python库oauth2sample-0.1.tar.gz详解** 在Python开发中,库扮演着至关重要的角色,它们提供了丰富的功能,让开发者能够高效地构建应用程序。`oauth2sample`是这样一个库,它专注于OAuth 2.0协议的实现,这是一种...

    spring-Security-oauth2.zip

    Spring Security OAuth2 是一个强大的框架,用于在Spring应用程序中实现安全性和身份验证。...通过理解OAuth2的工作原理和Spring Security的集成方式,开发者可以构建出更加健壮、安全的微服务架构。

    Laravel开发-laravel-oauth2

    【Laravel开发与OAuth2详解】 在 Laravel 开发过程中,OAuth2 是一种广泛使用的授权协议,它为第三方应用提供安全的访问用户数据的方式。然而,根据提供的描述,“laravel-oauth2”包裹已经过时,建议使用...

    基于Java的豆瓣OAuth认证示例项目.zip

    《基于Java实现豆瓣OAuth认证详解》 在当今的互联网应用中,安全性与用户授权是至关重要的环节。OAuth(Open Authorization)是一种开放标准,允许用户提供一个令牌,而不是用户名和密码来访问他们存储在特定服务...

    OAuth 2.0 OAuth 2.0 接口

    ### OAuth 2.0 授权协议详解 #### 1. 引言 OAuth 2.0 是一个开放标准,用于授权应用程序访问受保护资源而无需透露用户的凭据。本规范详细介绍了 OAuth 2.0 授权协议的工作原理、角色定义以及实现流程。 #### 1.1 ...

    Spring Security整合Oauth2实现流程详解

    而OAuth2则是一种开放标准,用于授权第三方应用访问用户的数据。在前后端分离的架构中,OAuth2常常用于处理用户登录验证,特别是授权码模式用于第三方登录。本文将详细讲解如何整合Spring Security与OAuth2,以实现...

Global site tag (gtag.js) - Google Analytics