2015-12-18 34 views
0

我正在使用LinkedIn API對用戶進行身份驗證。認證後,LinkedIn將數據發回我的應用程序/auth/linkedin/callback(與OAuth標準一樣)。通過OAuth(特別是LinkedIn API)發送自定義數據

我還提供其他auth方法(例如,Google+,Twitter等)。如果用戶使用其中一個登錄,我希望他們也能夠(在他們現有的身份驗證之上)與LinkedIn連接來提供額外的數據。

在這些情況下,我希望回調URL有所不同,所以我不必做一些非常自定義的if...then邏輯。

  1. 有沒有辦法在OAuth請求中指定要回叫的位置?

  2. 如果#1是不可能的,我可以發送一些自定義的任意數據或標誌與我的初始請求在回調期間返回?這樣解析響應時,我將檢查這些標誌以獲取用戶的適當狀態並根據需要重定向它們。

謝謝!

+0

根據OAuth 2.0規範,它應該工作。你試過了嗎?您需要使用每個授權服務器的「關聯」重定向URI註冊您的OAuth客戶端。如果在註冊過程中指定完整的重定向URI,那麼它在授權請求中是可選的。 – jwilleke

回答

0

state參數保證在所有交互中保留。您可以在其中存儲(編碼?)信息,並且在最終回調被調用時,您將恢復您發送的原始值。

一個常見用例是爲用戶捕獲「結束URL」(例如需要身份驗證的深入鏈接到您的應用程序)。

你應該檢查一下你收到的是什麼你發送的。