Home Database Mysql Tutorial 新浪微博OAuth2.0 VS OAuth1.0 主要区别总结~

新浪微博OAuth2.0 VS OAuth1.0 主要区别总结~

Jun 07, 2016 pm 03:31 PM
main the difference Weibo Sina

新浪微博OAuth2.0 VS OAuth1.0 主要 区别 总结 * OAuth2.0不需要签名了。之前所有的复杂的signatureBaseString计算、appSecret、 tokenSecret什么的都成浮云了,现在所有请求不需要签名了。所有二版微博API都使用HTTPS了。 * 相对于1.0的Request_Token换Auth

新浪微博OAuth2.0 VS OAuth1.0 主要区别总结

* OAuth2.0不需要签名了。之前所有的复杂的signatureBaseString计算、appSecret、 tokenSecret什么的都成浮云了,现在所有请求不需要签名了。所有二版微博API都使用HTTPS了。

* 相对于1.0的Request_Token换Authorization_Code,Authorization_Code再换Access_Token的授权模式,2.0提供了一种更简洁给力的授权码方式:Authorization_Code直接换Access_Token模式。
所以OAuth2.0的登录API只有两个oauth2/authorize和oauth2/accesstoken。其实之前之所以要多一个获取Request_Token的步骤,主要是为了Server来认证Client(还记得申银万国吗),看client是不是一个合法的注册过的Client。

* 当然OAuth2.0不止一种授权模式,共有四种, 新浪微博实现了最主要的3种:授权码式、用户名密码式、隐藏式。
授权码式就是上面提到Authorization_Code直接换Access_Token模式,登录需两步。
用户名密码式可实现一步登录(当然前提是用户得信任你的app才会乖乖给你密码)。
隐藏式也是一步登录,适用于JavaScript等脚本语言做逻辑处理的web客户端。

* OAuth2.0里的Access_Token与1.0里的不同。1.0里包含3个字段: UserID, AccessToken, AccessTokenSecret。2.0里也包含3个字段: AccessToken, (根据网友"U点意思"提供的情报,2.0的Access_Token字段,每次返回的值不一样。这与1.0中Access_Token字段值永远不变,是个很大的区别)
ExpiresIn (AccessToken的过期时间,按秒计,很短,默认可能是1个小时)
RefreshToken (AccessToken过期时,用来获取新的AccessToken,具体做法是当使用AccessToken时收到类似TokenInvalid或者TokenExpired的错误时,调用oauth2/accesstoken接口传递RefreshToken以获取新的AccessToken)

* OAuth2.0引入了Authorization Server的概念(越来越像微软的WIF-Window Identity Model)。对于我们开发者而言,没必要区分Authorization Server和Resource Server,我们看到的就是新浪微博Server。

* 使用OAuth2.0访问新浪微博API更简单了,只需要传递一个AccessToken值。

* 所有API只返回Json格式了,没有XML格式的了。(这是为虾米)

申明:由于OAuth2.0的协议文档,我尚未仔细阅读,所以理解上可能不够全面精确。广大网友补充。
以上总结结合了新浪微博开放平台上的API v2文档。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1269
29
C# Tutorial
1249
24
How to set password protection for export PDF on PS How to set password protection for export PDF on PS Apr 06, 2025 pm 04:45 PM

Export password-protected PDF in Photoshop: Open the image file. Click "File"> "Export"> "Export as PDF". Set the "Security" option and enter the same password twice. Click "Export" to generate a PDF file.

The difference between H5 and mini-programs and APPs The difference between H5 and mini-programs and APPs Apr 06, 2025 am 10:42 AM

H5. The main difference between mini programs and APP is: technical architecture: H5 is based on web technology, and mini programs and APP are independent applications. Experience and functions: H5 is light and easy to use, with limited functions; mini programs are lightweight and have good interactiveness; APPs are powerful and have smooth experience. Compatibility: H5 is cross-platform compatible, applets and APPs are restricted by the platform. Development cost: H5 has low development cost, medium mini programs, and highest APP. Applicable scenarios: H5 is suitable for information display, applets are suitable for lightweight applications, and APPs are suitable for complex functions.

Why do you need to call Vue.use(VueRouter) in the index.js file under the router folder? Why do you need to call Vue.use(VueRouter) in the index.js file under the router folder? Apr 05, 2025 pm 01:03 PM

The necessity of registering VueRouter in the index.js file under the router folder When developing Vue applications, you often encounter problems with routing configuration. Special...

Difference between centos and ubuntu Difference between centos and ubuntu Apr 14, 2025 pm 09:09 PM

The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

What is the difference between syntax for adding columns in different database systems What is the difference between syntax for adding columns in different database systems Apr 09, 2025 pm 02:15 PM

不同数据库系统添加列的语法为:MySQL:ALTER TABLE table_name ADD column_name data_type;PostgreSQL:ALTER TABLE table_name ADD COLUMN column_name data_type;Oracle:ALTER TABLE table_name ADD (column_name data_type);SQL Server:ALTER TABLE table_name ADD column_name data_

How to use XPath to search from a specified DOM node in JavaScript? How to use XPath to search from a specified DOM node in JavaScript? Apr 04, 2025 pm 11:15 PM

Detailed explanation of XPath search method under DOM nodes In JavaScript, we often need to find specific nodes from the DOM tree based on XPath expressions. If you need to...

The difference between laravel and thinkphp The difference between laravel and thinkphp Apr 18, 2025 pm 01:09 PM

Laravel and ThinkPHP are both popular PHP frameworks and have their own advantages and disadvantages in development. This article will compare the two in depth, highlighting their architecture, features, and performance differences to help developers make informed choices based on their specific project needs.

What are the different ways of promoting H5 and mini programs? What are the different ways of promoting H5 and mini programs? Apr 06, 2025 am 11:03 AM

There are differences in the promotion methods of H5 and mini programs: platform dependence: H5 depends on the browser, and mini programs rely on specific platforms (such as WeChat). User experience: The H5 experience is poor, and the mini program provides a smooth experience similar to native applications. Communication method: H5 is spread through links, and mini programs are shared or searched through the platform. H5 promotion methods: social sharing, email marketing, QR code, SEO, paid advertising. Mini program promotion methods: platform promotion, social sharing, offline promotion, ASO, cooperation with other platforms.

See all articles