OAUTH协议为用户资源的授权提供了一个安全的,开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的.同样新浪微博提供OAuth认证也是为了保证用户账号和密码的安全,在这里通过OAuth建立普通新浪微博用户,客户端程序(android客户端程序),新浪微博三者之间的相互信任关系,让客户端程序(android客户端程序)不需要知道用户的账号和密码也能浏览,发布微博,这样有效的保护了用户账号的安全性不需要把账号密码透露给客户端程序又达到了通过客户端程序写微博看微博目的.这个是OAuth的作用.
结合新浪微博的OAuth认证来说说具体的功能实现,首先罗列一下关键字组,下面四组关键字跟我们接下来OAuth认证有非常大的关系.
第一组:(App Key和App Secret),
第二组:(Request Token和Request Secret)
第三组:(oauth_verifier)
第四组:(user_id、Access Token和Access Secret)
新浪微博的OAuth认证过程,当用户第一次使用本客户端软件时,客户端程序用第一组作为参数向新浪微博发起请求,然后新浪微博经过验证后返回第二组参数给客户端软件同时表示新浪微博信任本客户端软件,当客户端软件获取第二组参数时作为参数引导用户浏览器跳至新浪微博的授权页面,然后用户在新浪的这个授权页面里输入自己的微博账号和密码进行授权,完成授权后根据客户端设定的回调地址把第三组参数返回给客户端软件并表示用户也信任本客户端软件,接下客户端软件把第二组参数和第三组参数作为参数再次向新浪微博发起请求,然后新浪微博返回第四组参数给客户端软件,第四组参数需要好好的保存起来这个就是用来代替用户的新浪账号和密码用的,在后面调用api时都需要.
从这个过程来看用户只是在新浪微博的认证网页输入过账户和密码并没有在客户端软件里输入过账户和密码,客户端软件只保存了第四组数据并没有保存用户的账户和密码,这样有效的避免了账户和密码透露给新浪微博之外的第三方应用程序,保证了安全性.
分享到:
相关推荐
在这篇文章中,阮一峰以云冲印服务为例,详细阐述了OAuth 2.0 的应用场景、基本概念和工作流程,对于理解和实施OAuth 2.0 提供了清晰的指南。了解并掌握OAuth 2.0 对于开发需要用户授权的应用程序至关重要,因为它能...
本书首先介绍了OAuth 2.0的基本原理和设计目标,讲解了授权码流、简化授权流、密码凭据流以及客户端凭据流等不同的授权类型。授权码流通常用于Web应用,通过重定向URL来获取授权码;简化授权流适用于移动和桌面应用...
本文旨在深入解析 OAuth 的基本原理及其实现过程,以便读者能够更好地理解 OAuth 授权机制。 #### 一、OAuth 认证流程概述 根据提供的文件描述,OAuth 认证授权可以分为以下三个核心步骤: 1. **获取未授权的 ...
综上所述,"Oauth2 Java demo"是一个基于Java的OAuth2授权框架实现,利用Spring Security OAuth2库,涵盖了授权服务器、资源服务器和客户端的基本功能。通过`TestServlet`,我们可以实践和理解OAuth2的授权过程,...
通过理解其基本概念、工作流程以及各种授权模式,开发者可以更好地利用这一协议为用户提供安全便捷的服务。在未来的发展中,随着技术的进步和应用场景的不断拓展,OAuth2.0协议将会发挥更加重要的作用。
在“Oauth认证流程学习代码”中,我们将深入理解OAuth的基本流程和相关代码实现。OAuth的流程主要包括四个角色:资源所有者(Resource Owner)、客户端(Client)、资源服务器(Resource Server)和授权服务器...
首先,让我们了解OAuth2的基本概念。OAuth2允许用户向第三方应用授予有限的访问权限,而无需共享其用户名和密码。它定义了四个主要角色:资源所有者(用户)、客户端(第三方应用)、授权服务器和资源服务器。授权...
首先,OAuth的核心概念包括资源所有者(用户)、客户端(应用)、授权服务器和资源服务器。资源所有者通过授权服务器向客户端授予访问其资源的权限,而客户端则利用这些权限与资源服务器进行交互。Signpost的主要...
1. **OAuth协议基础**:解释OAuth的基本概念,包括授权流程、角色(如资源所有者、客户端、授权服务器和资源服务器)以及OAuth的版本差异(如OAuth 1.0和OAuth 2.0)。 2. **SQL脚本的目的**:说明"oauth.sql"文件...
在实际操作中,你需要理解OAuth2的这些核心概念,并根据`README.md`的指导配置和运行项目,以了解OAuth2的工作流程。通过这个Demo,你可以学习如何在Spring Boot应用中集成OAuth2,实现用户认证和授权,为你的API...
OAuth1.0的核心概念包括以下几个方面: 1. **资源所有者(Resource Owner)**:即拥有资源的用户。在OAuth的流程中,资源所有者同意让第三方应用代表他们访问其在服务提供商上的数据。 2. **服务提供商(Service ...
首先,我们要理解OAuth2的基本概念。OAuth2是一种授权协议,它允许第三方应用在获取用户的明确许可后,通过访问令牌(Access Token)来获取特定资源。它定义了四种角色:资源所有者(Resource Owner)、客户端...
MongoDB 的数据模型和操作有清晰的认识,以及理解 Kafka 和消息队列的基本概念和使用场景。通过分析 `shop-project` 中的代码,你可以学习到实际项目中这些技术的整合与应用,从而提升你的微服务开发能力。
OAuth2的核心概念包括四个角色:资源所有者(Resource Owner),客户端(Client),资源服务器(Resource Server)和授权服务器(Authorization Server)。资源所有者是拥有资源的用户,客户端是需要访问这些资源的...
首先,让我们深入了解OAuth 2.0的基本概念。OAuth 2.0 提供了四种授权类型:授权码(Authorization Code)、隐式(Implicit)、客户端凭证(Client Credentials)和刷新令牌(Refresh Token)。在这个例子中,我们...
在这个"php-oauth2.0 demo"项目中,我们将探讨如何在PHP环境中实现OAuth 2.0的基本功能。 1. **OAuth 2.0 架构** OAuth 2.0 主要有四个角色:资源所有者(Resource Owner)、客户端(Client)、认证服务器...
1. **OAuth认证原理**:OAuth的基本概念,包括临时凭证、授权码、访问令牌以及它们在授权过程中的作用。 2. **新浪API接口**:介绍新浪API提供的功能,如发布微博、获取用户信息等,以及如何使用OAuth来访问这些...
学习这门课程,开发者将不仅理解Spring Security和OAuth2的基本原理,还能掌握如何在实际项目中灵活运用,从而提高企业级应用的安全性和可靠性。对于任何希望提升安全技能的Java开发者来说,这是一份不可多得的学习...