2011-06-08 88 views
2

背景:自動化用戶授權步驟

  • MySite.com - 我的網站
  • ParentSite.com - 客戶 公司(這將有OAuth的 提供商模塊就可以了)的網站
  • MySite模塊 - 我已創建的模塊,它將安裝在ParentSite.com上 ,並允許 ParentSite用戶被重定向到MySite(通過 OAuth)。我完全可以控制我在這個模塊中做什麼 。我將顯示用戶將點擊並預期到達MySite並完全登錄的鏈接。

我一個標準的OAuth設置的理解:

  1. 用戶去上MySite.com爲某個網址的OAuth登錄到ParentSite.com。

  2. MySite應用程序從ParentSite中檢索OAuth「請求令牌」。

  3. 瀏覽器被重定向到ParentSite.com網站,詢問是否允許MySite應用程序查看用戶的信息。

  4. 用戶確認。 (*

  5. 瀏覽器被重定向到MySite.com,它現在爲用戶提供了OAuth「訪問令牌」。

  6. 客戶端應用程序使用來自步驟5的OAuth訪問令牌作爲認證,請求用戶的身份信息(例如,ParentSite用戶ID,名稱,電子郵件地址),將REST請求發送回ParentSite.com。

  7. ParentSite驗證OAuth訪問令牌並將用戶信息返回給客戶端應用程序。


我的情況是略有不同,區別是:

答:用戶是ParentSite.com的用戶,並在ParentSite.com,需要無縫地連接到MySite.com當他們點擊「我的站點模塊」上的某些鏈接時

B.我希望用戶授權步驟(步驟3和4)是自動的,即不提示用戶。


Q1:我有什麼做的 「mysite的模塊」,以使這一切呢? (請詳細解答!)

Q2:如何自動化步驟3和步驟4?

+0

對我來說就像一個整合項目。基本上,您正在爲所謂的父站點添加功能,只是它在不同的域上。沒有oAuth的開銷,你絕對可以做到這一點。 – 2011-06-08 07:16:29

+0

是的,但它鏈接到mysite.com - 我還能如何安全地驗證從「外部」進入的請求? @Jon – siliconpi 2011-06-08 10:51:52

+0

Twitter使用[xAuth](https://dev.twitter.com/docs/oauth/xauth)做了這樣的事情,這對未來的訪問者可能很有趣。 – 2012-09-26 20:26:40

回答

0

好吧,讓我弄清楚這一點。點擊「家長」中的某些內容會打開一些關於「mysite」的內容,然後「mysite」嘗試操縱「parentsite」中的內容,因此需要授權才能這樣做?如果我錯了,請忽略這個答案。

我還假設你對parentsite.com有控制權 - 否則我無法看到一種方式讓你完成你似乎需要的東西。

第1部分:

首先,mysite的需要使用者密鑰和機密。

第2部分:

由於到mysite的呼叫從parentsite直接下達,您可以直接令牌的parentsite服務中發出的訪問(你已經知道哪些用戶登錄)。所以當訪問mysite.com時 - 只需發送它的訪問令牌和祕密它需要。

第3部分:

好了,所以現在mysite.com應該有消費者密鑰/祕密訪問密鑰/祕密,應該是能夠做到的東西與parentsite.com。

請記住,這確實超出了oAuth規範,但完全可行。

+0

需要一些更正 - parentsite將安裝我的模塊。使用家長訪問該模塊的用戶將看到從_leading_到mysite.com的鏈接。 (所有這些的最終目的是在家長和mysite之間的無縫整合)。爲此,mysite.com應通過OAuth訪問parentsite.com上的用戶詳細信息。 – siliconpi 2011-06-08 15:12:52

+0

好的。讓我們這樣說吧。如果您無法向家長髮放訪問令牌,則無法跳過第3步和第4步。 – 2011-06-09 06:49:09

+0

這有助於 - 我必須讓親們自動發佈該令牌......讓我探索一下。你能幫我理解我坐在父母身上的模塊上的這些鏈接應該「通向」嗎?當用戶點擊一個時,我需要傳遞關於正在執行的「動作」的數據,無論oauth需要什麼。這個鏈接是什麼樣的? @Jon – siliconpi 2011-06-09 09:21:41