整合了使用新浪微博帳號登入第三方網站的服務,也就是說:當你來到一個新的網站的時候,無需註冊,使用新浪微博的賬戶即可登入。
這種串連微博的服務是微博開放平台提供給第三方網站的一種服務。這種服務包括身份認證、使用者關係以及內容傳播。串連微博允許訪問第三方網站的使用者通過微博帳號進行登入,分享內容,同步資訊。通過使用串連微博的服務,第三方網站不僅能夠降低使用者註冊門檻,也能夠讓使用者更快的與微博上的粉絲分享網站內容,從而提升網站的訪問量、網站資訊的進一步傳播與分享。
具體效果是:
1. 在網站登入頁面附近放置“串連微博”按鈕,顯示“用新浪微博帳號登入”
2. 使用者點擊後跳轉到微博授權頁面,輸入新浪微博使用者名稱和密碼。
3. 新浪網做使用者認證通過,以後即可授權訪問第三方網站。
詳情參考這個網頁。
為了使用新浪微博開放平台提供的API(應用程式介面),你需要先註冊一個應用。我們會給每一個應用一個專屬的App Key和App Secret。Key跟Secret的使用方式跟其他一些協議中的公開金鑰私密金鑰的方案相類似,你可以使用你所熟悉的程式設計語言將key和secret結合,為你 發出的每個請求添加簽名,以此來向新浪微薄開放平台表明自己身份的合法性。
Web應用應該使用完整的OAuth來進行使用者認證。案頭以及移動使用者也應該使用OAuth。當然,案頭和行動裝置 App也可以使用Basic Auth,一種簡單的通過使用者名稱密碼的方式來進行認證的方式,具體的說明可以參見授權機制說明頁面中相關的部分。
OAuth的基本流程:
具體API調用過程請參考這個網頁。
總結:新浪的OAuth的確麻煩,C#實現起來比Google的OAuth複雜多了,所以給大家共用了一個C#的原始碼,點擊這兒下載。 代碼運行需要.net framework 3.5或以上,VS2008或以上,代碼運行前需要把apiKey和apiKeySecret替換為你在新浪微博開放平台申請到的key。代碼不明白的地方可以聯絡我。如果大家需要Google的OAuth調用代碼,也可以聯絡我。
其他語言OAuth庫和資源:
-
ActionScript/Flash
-
oauth-as3 http://code.google.com/p/oauth-as3/
-
A flex oauth client http://www.arcgis.com/home/item.html?id=ff6ffa302ad04a7194999f2ad08250d7
-
C/C++
-
QTweetLib http://github.com/minimoog/QTweetLib
-
libOAuth http://liboauth.sourceforge.net/
-
clojure
-
clj-oauth http://github.com/mattrepl/clj-oauth
-
.net
-
oauth-dot-net http://code.google.com/p/oauth-dot-net/
-
DotNetOpenAuth http://www.dotnetopenauth.net/
-
Erlang
-
erlang-oauth http://github.com/tim/erlang-oauth
-
java
-
Scrible http://github.com/fernandezpablo85/scribe-java
-
oauth-signpost http://code.google.com/p/oauth-signpost/
-
javascript
-
oauth in js http://oauth.googlecode.com/svn/code/javascript/
-
Objective-C/Cocoa & iPhone programming
-
OAuthCore http://bitbucket.org/atebits/oauthcore
-
MPOAuthConnection http://code.google.com/p/mpoauthconnection/
-
Objective-C OAuth http://oauth.googlecode.com/svn/code/obj-c/
-
Perl
-
Net::OAuth http://oauth.googlecode.com/svn/code/perl/
-
PHP
-
tmhOAuth http://github.com/themattharris/tmhOAuth
-
oauth-php http://code.google.com/p/oauth-php/
-
Python
-
python-oauth2 http://github.com/brosner/python-oauth2
-
Qt
-
qOauth http://github.com/ayoy/qoauth
-
Ruby
-
Oauth ruby gem http://oauth.rubyforge.org/
-
Scala
-
DataBinder Dispatch http://dispatch.databinder.net/About