OAuth認證與授權

什么是OAuth授權?

一、什么是OAuth協議
OAuth(開放授權)是一個開放標準。
允許第三方網站在用戶授權的前提下訪問在用戶在服務商那里存儲的各種信息。
而這種授權無需將用戶提供用戶名和密碼提供給該第三方網站。
OAuth允許用戶提供一個令牌給第三方網站,一個令牌對應一個特定的第三方網站,同時該令牌只能在特定的時間內訪問特定的資源。
二、OAuth的原理和授權流程
OAuth的認證和授權的過程中涉及的三方包括:
服務商:用戶使用服務的提供方,一般用來存消息、儲照片、視頻、聯系人、文件等(比如Twitter、Sina微波等)。
用 ?戶:服務商的用戶
第三方:通常是網站,該網站想要訪問用戶存儲在服務商那里的信息。
比如某個提供照片打印服務的網站,用戶想在那里打印自己存在服務商那里的網絡相冊。
在認證過程之前,第三方需要先向服務商申請第三方服務的唯一標識。
OAuth認證和授權的過程如下:
1、用戶訪問第三方網站網站,想對用戶存放在服務商的某些資源進行操作。
2、第三方網站向服務商請求一個臨時令牌。
3、服務商驗證第三方網站的身份后,授予一個臨時令牌。
4、第三方網站獲得臨時令牌后,將用戶導向至服務商的授權頁面請求用戶授權,然后這個過程中將臨時令牌和第三方網站的返回地址發送給服務商。
5、用戶在服務商的授權頁面上輸入自己的用戶名和密碼,授權第三方網站訪問所相應的資源。
6、授權成功后,服務商將用戶導向第三方網站的返回地址。
7、第三方網站根據臨時令牌從服務商那里獲取訪問令牌。
8、服務商根據令牌和用戶的授權情況授予第三方網站訪問令牌。
9、第三方網站使用獲取到的訪問令牌訪問存放在服務商的對應的用戶資源。
三、目前支持OAuth的網站有哪些?
t.sina.com.cn
t.qq.com
t.sohu.com
t.163.com
www.douban.com
www.twitter.com
www.facebook.com
Google Buzz

文件來源于:http://www.6zou.net/tech/what_is_oauth.html?

?

?

?

所謂OAuth(即Open Authorization,開放授權),它是為用戶資源授權提供了一種安全簡單的標準,也就是說用戶在訪問第三方web或應用的時候,第三方不會知道用戶的信息(登錄密碼等),現在基本都支持OAuth2.0版本了。

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

第一步:用戶登錄第三方網站,使用qq登錄。

第二步:點擊登錄后,會跳到qq平臺提示輸入用戶名和密碼。

第三步:如果用戶名和密碼正確,會提示是否接受授權,如果授權成功,第三方網站就能訪問你的資源了,qq頭像、用戶名等

?

認證和授權過程(包括三方)

?

  1、服務提供方,用戶使用服務提供方來存儲受保護的資源,如照片,視頻,聯系人列表。

  2、用戶,存放在服務提供方的受保護的資源的擁有者。

  3、客戶端,要訪問服務提供方資源的第三方應用,通常是網站。在認證過程之前,客戶端要向服務提供者申請客戶端標識。

?

?

? ? ? ?用戶訪問客戶端的網站,想操作用戶存放在服務提供方的資源。

  客戶端向服務提供方請求一個臨時令牌。

  服務提供方驗證客戶端的身份后,授予一個臨時令牌。

  客戶端獲得臨時令牌后,將用戶引導至服務提供方的授權頁面請求用戶授權。在這個過程中將臨時令牌和客戶端的回調連接發送給服務提供方。

  用戶在服務提供方的網頁上輸入用戶名和密碼,然后授權該客戶端訪問所請求的資源。

  授權成功后,服務提供方引導用戶返回客戶端的網頁,并返回已授權的臨時憑證。

  客戶端根據已授權的臨時令牌從服務提供方那里獲取訪問令牌。

  服務提供方根據臨時令牌和用戶的授權情況授予客戶端訪問令牌。

  客戶端使用獲取的訪問令牌訪問該用戶存放在服務提供方上的受保護的資源。(客戶端只能訪問給予它授權的用戶的資源信息)

?轉自 :http://justcoding.iteye.com/blog/1950270

轉載于:https://www.cnblogs.com/cnmenglang/p/6297592.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284831.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284831.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284831.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IO的多路復用

一、概念: 使單線程或者單進程同時監測若干個文件描述符具有執行的能力; 二、作用: 類似于多進程和多線程 三、必要性: 多線程或者多進程對資源需求較高 四、IO模型: 1.阻塞io 不設置的話系統默認 2.非阻塞io 在阻塞io的基礎上調整為不在阻塞狀態 用到的函數接口…

C# 禁用 全局快捷鍵

本文經原作者授權以原創方式二次分享,歡迎轉載、分享。原文作者:唐宋元明清原文地址:https://www.cnblogs.com/kybs0/p/12558056.htmlC# 禁用 全局快捷鍵給軟件添加快捷鍵時,經常遇到其它軟件或者系統已設置的快捷鍵,導…

SegmentFault Hackathon 文藝復興

我有一個 idea,我想實現它,我正實現它,我已實現它。世界上存在一些好奇心旺盛、不愛墨守成規的人,略微偏執但又極度投入的他們崇尚自由,熱衷用技術實現自己的想法,他們帶著不羈的態度生活,利用編…

臥槽!VS Code 上竟然也能畫流程圖了???

作為一款開源的主流代碼編輯器,VSCode 在發布之后一直受到不少開發者的喜愛。 此前,我們也曾在公眾號上分享過多篇文章,向大家推薦了不少 VSCode 上比較實用(或沙雕)的插件。因此,有很多水友也經常調侃道&…

【QGIS入門實戰精品教程】14.1:QGIS如何加載各種在線地圖?

文章目錄 一、XYZ Tiles連接方式二、插件添加三、WMS/WMTS/OWS連接方式一、XYZ Tiles連接方式 1. 加載OpenStreetMap QGIS默認可以加載OpenStreetMap地圖。在左側點擊XYZ Tiles,默認下面有個OpenStreetMap選項,雙擊打右側會顯示地圖,如下圖所示: 在OpenStreetMap上右鍵→…

Oracle11g不能導出空表問題

ORACLE 11g 用exp命令導出庫文件備份時,發現只能導出來一部分表而且不提示錯誤,之前找不到解決方案只能把沒導出來的表重新建建立。后來發現是所有的空表都沒有導出來。于是想好好查查,因為在以前的10g版本中沒有這樣的問題。查資料發現Oracle 11g中有個…

SkiaSharp 之 WPF 自繪時鐘(案例版)

SkiaSharp是一個跨平臺2D圖形API,用于.NET平臺,基于Googles Skia Graphics庫(skia.org網站). 它提供了一個全面的2D API,可以跨移動、服務器和桌面模型來渲染圖像。該圖形庫可實現獲取指定坐標像素值、繪制2d圖形、繪制文字(必須有…

推薦一簡單易用的腦圖制作工具

幕布是什么? 大綱文檔工具,管理你的大腦層級折疊文字,結構化思考助手一鍵轉換思維導圖并編輯,效率翻倍幕布可以做什么? 大綱筆記,思維整理 學習筆記清單工具 管理日程管理待辦購物清單等等內容創作會議記錄…

自動性能統計信息(三)(Automatic Performance Statistics)

1.3 管理自動工作負載庫(AWR)本節講述如何管理AWR,包含以下主題: 管理快照 管理基線 管理基線模板 傳輸自動工作負載庫數據 使用自動工作負載庫視圖 生成AWR報告 生成AWR對比報告 生成ASH報告 …

su: user tomcat does not exist

http://www.cnblogs.com/allegro/p/5005352.html 問題在于 你的startup.sh 里面設置了 用戶,你需要修改為root或者tomcat用戶 這是開發 遷移碰到的問題 test ".$TOMCAT_USER" . && TOMCAT_USERtomcat # Set JAVA_HOME to working JDK or JRE # JAVA_HOME/op…

【QGIS入門實戰精品教程】4.5:QGIS打開Excel中的點坐標,并生成矢量文件

QGIS中可以很方便添加Excel或其他文本格式的點坐標,并將其轉為矢量等多種格式的文件。 擴展閱讀: 【ArcGIS風暴】ArcGIS 10.2導入Excel數據X、Y坐標(經緯度、平面坐標),生成Shapefile點數據圖層 文章目錄 1. 數據準備2. 添加數據3. 保存文矢量文件1. 數據準備 本實驗使用…

[NOI2014]起床困難綜合癥

從高位往地位貪心即可 # include <bits/stdc.h> # define IL inline # define RG register # define Fill(a, b) memset(a, b, sizeof(a)) using namespace std; typedef long long ll; const int _(1e5 10);IL ll Read(){RG char c getchar(); RG ll x 0, z 1;for(;…

騰訊云EKS 上部署 eshopondapr

騰訊云容器服務&#xff08;Tencent Kubernetes Engine&#xff0c;TKE&#xff09;基于原生 kubernetes 提供以容器為核心的、高度可擴展的高性能容器管理服務。騰訊云容器服務完全兼容原生 kubernetes API &#xff0c;擴展了騰訊云的云硬盤、負載均衡等 kubernetes 插件&…

[轉]一往無前 | 小米十周年,雷軍公開演講全文

2020年8月11日19:30&#xff0c;小米十周年&#xff0c;雷軍公開演講如約而至。在近3小時的演講中&#xff0c;雷軍用20個故事回顧了小米過去的熱血10年&#xff0c;也展望了新的10年&#xff1a; - 創新之火將會照亮每個瘋狂的想法&#xff0c;小米將成為工程師向往的圣地。 -…

JAVA單例之我見

為什么80%的碼農都做不了架構師&#xff1f;>>> 單例模式作為設計模式中最簡單的一種&#xff0c;是一個被說爛了的東西。但是在項目中還是會發現關于單例模式的一些錯誤實現&#xff0c;可見單例也并不是我們想象的那么簡單。最近陸陸續續看了幾篇關于單例的博客&…

「劉一哥GIS」系列專欄《QGIS入門實戰精品教程(配套案例數據)》

「劉一哥GIS」系列專欄《QGIS入門實戰精品教程&#xff08;配套案例數據&#xff09;》全新上線了&#xff0c;歡迎廣大GISer朋友關注&#xff0c;一起探索GIS奧秘&#xff0c;分享GIS價值&#xff01; 本專欄以實戰案例的形式&#xff0c;深入淺出地介紹了QGIS的基本使用方法&…

MyEclipse的Git配置

1.下載&#xff1a;git的插件egit 并解壓 插件 下載地址&#xff1a;http://www.eclipse.org/egit/download/ 所有版本&#xff1a;http://wiki.eclipse.org/EGit/FAQ#Where_can_I_find_older_releases_of_EGit.3F 2.在MyEclipse安裝目錄下的dropins文件夾下創建egit文件夾 3.…

ASP.NET Core 定時刷新第三方 Token

前言在《ASP.NET Core 自動刷新JWT Token》中我們實現了為客戶端自動提供最新的Token。但是&#xff0c;當我們的 ASP.NET Core 應用需要調用第三方 API 時&#xff0c;如何更優雅地刷新第三方提供的 Token 呢&#xff1f;思路我們可以在啟動時就獲取第三方提供的 Token 并保存…

VSCode 插件開發實例(WebView):微信讀書 ^-^邊擼代碼邊看小說^-^

最終效果 主要代碼 package.json {"name": "WeReadForVSCodeJackieZheng","repository": {"type": "git","url": "https://github.com/JackieZheng/WeReadForVSCode.git"},"displayName": &q…

【QGIS入門實戰精品教程】4.7:QGIS如何將矢量數據轉為GeoJSON格式?

本文以案例的形式,講述在QGIS專業軟件中,將矢量數據轉為GeoJSON的方法。 擴展閱讀: 【ArcGIS風暴】如何將矢量數據(點、線、面)折點坐標轉為GeoJSON格式? 在QGIS中,可以直接將數據導出為GeoJSON格式。具體操作方法是:右鍵矢量數據圖層→導出圖層→到文件,如下圖所示:…