本篇说说关于OAuth授权认证的事情,新浪开放api都必须在这个基础上才能调用,所以有必要专门来讲讲,前面的文章中已经提到过关于新浪微博提供了OAuth和Base OAuth两种认证方式,并且本项目采用OAuth认证方式,至于为什么采用这个OAuth认证而不采用Base OAuth认证原因很简单,自从Twitter只支持OAuth认证方式以来,各大应用都纷纷转向OAuth认证方式,而新浪微博的开放平台也将在近日停止Base OAuth的认证方式。
OAuth的基本概念,OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同样新浪微博提供OAuth认证也是为了保证用户账号和密码的安全,在这里通过OAuth建立普通新浪微博用户、客户端程序(我们正在开发的这个android客户端程序)、新浪微博三者之间的相互信任关系,让客户端程序(我们正在开发的这个android客户端程序)不需要知道用户的账号和密码也能浏览、发布微博,这样有效的保护了用户账号的安全性不需要把账号密码透露给客户端程序又达到了通过客户端程序写微博看微博目的。这个是OAuth的作用。
结合新浪微博的OAuth认证来说说具体的功能实现,首先罗列一下关键字组,下面四组关键字跟我们接下来OAuth认证有非常大的关系。
第一组:(App Key和App Secret),这组参数就是本系列文本第一篇提到的建一个新的应用获取App Key和App Secret。
第二组:(Request Token和Request Secret)
第三组:(oauth_verifier)
第四组:(user_id、Access Token和Access Secret)
新浪微博的OAuth认证过程,当用户第一次使用本客户端软件时,客户端程序用第一组作为参数向新浪微博发起请求,然后新浪微博经过验证后返回第二组参数给客户端软件同时表示新浪微博信任本客户端软件,当客户端软件获取第二组参数时作为参数引导用户浏览器跳至新浪微博的授权页面,然后用户在新浪的这个授权页面里输入自己的微博账号和密码进行授权,完成授权后根据客户端设定的回调地址把第三组参数返回给客户端软件并表示用户也信任本客户端软件,接下客户端软件把第二组参数和第三组参数作为参数再次向新浪微博发起请求,然后新浪微博返回第四组参数给客户端软件,第四组参数需要好好的保存起来这个就是用来代替用户的新浪账号和密码用的,在后面调用api时都需要。从这个过程来看用户只是在新浪微博的认证网页输入过账户和密码并没有在客户端软件里输入过账户和密码,客户端软件只保存了第四组数据并没有保存用户的账户和密码,这样有效的避免了账户和密码透露给新浪微博之外的第三方应用程序,保证 了安全性。
分享到:
相关推荐
OAuth简介及sina微博开放平台.比较详尽。
小米OAuth简介 小米帐号开放平台文档 python SDK说明 XMHttpClient.py -- 基础Http请求封装 XMOAuthClient.py -- 针对OAuth授权流程相关http请求封装 XMApiClient.py -- 针对api请求相关http请求封装 DEMO 1. 获取...
Spring Cloud与OAuth2整合简介 1、OAuth2中的角色 2、Authorization Server 3、Resource Server 4、访问资源服务器中的API
OpenID与OAuth协议详,很好的文档哦,请支持下载
小米帐号开放平台OAuth PHP SDK使用说明小米OAuth简介小米帐号开放平台文档PHP SDK说明php-sdk/httpclient/XMApiClient.php -- 基础Http请求封装php-sdk/httpclient/XMOAuthClient.php -- 针对OAuth授权流程相关http...
SNS 简介 •Social Game 简介 •OAuth 简介 •OAuth 工作流程 •Social Game 开发工具 •Social Game 开发实战
开放平台标准协议简介之RFC 6749-OAuth 2.0授权框架; The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource ...
简介 oauthserver是一个基于Spring Boot Oauth2的完整的独立的Oauth2 Server微服务。项目的目的是,仅需要创建相关数据表,修改数据库的连接信息,你就可以得到一个Oauth2 Server微服务。为了开发方便,项目分解成6...
## 简介 `mcloud-oauth-server` 基于**Spring OAuth2**,实现了**OAuth2**认证服务器以及资源服务器,并以 **Restful API** 的方式提供了**OAuth** 客户端以及用户的管理功能。 项目中主要使用了以下技术: - **...
小米帐号开放平台OAuth c# SDK使用说明小米OAuth简介小米帐号开放平台文档c# SDK说明c# sdk由第三方开发者提供
MCloud-OAuth2认证中心不推荐使用认证模块将使用替代简介mcloud-oauth-server基于Spring OAuth2 ,实现了OAuth2认证服务器以及资源服务器,并以Restful API的方式提供了OAuth客户端以及用户的管理功能。项目中主要...
pig权限管理系统是一个基于 Spring Cloud Hoxton 、Spring Boot 2.3、 OAuth2 的 RBAC 权限管理系统。同时也基于数据驱动视图的理念封装 element-ui,即使没有 vue 的使用经验也能快速上手 强大功能 覆盖常见业务...
简介 这是一个简单的OAuth2.0的服务器,实现了OAuth 2.0的四种通用授权方式,可以用于应用的统一单点登录、权限控制。 项目提供了相应的客户端、web filter、网关组件,实现应用的分布式和集中式权限控制,并给出...
OAuth-NL 配置文件 这是国际OAuth API 标准的荷兰配置文件。 在此处查看最新采用的标准版本: 在此处查看标准的最新工作版本: 这个存储库:
本文实例讲述了django接入新浪微博OAuth的方法。分享给大家供大家参考。具体分析如下: 最近将网站和新浪微博进行了...对于oauth很陌生的同学,请先查看OAUTH协议简介 其实流程很简单: ① getrequesttoken -> ② creat
简介本项目基于spring-cloud-starter-oauth2构建的认证中心和资源服务器的微服务项目,项目不仅仅简单的演示,项目的出发点在于实战应用。 ,仅需要稍作调整就可以替换实际项目当中,并且项目包含大量注释,甚至可以...
简介 1、使用了新浪微博的Oauth2.0版接口,替代原“微博同步”插件。 2、使用前,请先备份原“微博同步”插件,使用这个V2版本覆盖Login代码。 3、可能需要重新申请获验证网站,大家选择下载xxx.txt文件的验证方式。
OAuth2简介 Go语言实现的轻量级OAuth2服务器,为极客时间课程《微服务架构和时间160讲》而开发。 自从我和极客时间合作的课程《微服务架构和实践160讲》上线以来,陆续收到一些学员的反馈,包括: Spring Cloud ...
1简介JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑、自包含的方式,作为JSON对象在各方之间安全地传输信息,是用一
系统简介: 1.本微信投票系统开源免费 2.这是一款基于微信的投票系统 3.您可以到后台创建任意多的投票活动 4.可以为每个活动设置不同的投票规则 5.可以为每个活动选择不同的模板界面 6.接入摇一摇抽奖功能,投...