我建立了一個項目,一個RESTful API我的工作,我想提出的主要應用消費自己的API消耗API,因爲:問題關於通過OAuth
- 這將導致在有一組代碼保持
- 如果我們決定要揭露爲第三方軟件開發人員將已經完成的API
- 它開闢了可能性,使消耗它的移動應用
- 我真的想學習怎麼辦
該API將託管在子域https://api.example.com
上,主Web應用程序將託管在根域https://example.com
。
從理論上講,我明白一切是如何運作的,但我的主要問題是驗證流程如何改變。通常情況下第三方應用程序會:
- 獲得
https://api.example.com/request_token
- 請求令牌將用戶重定向到上
https://api.authenticate.com/authorize
- 認證獲取重定向到第三方應用
- 從
https://api.example.com/access_token
獲得訪問令牌
因爲我控制兩個域,我可以做類似於:
- 獲取請求令牌時上
https://www.example.com
調用相同的代碼https://api.example.com/authorize
- 在登錄屏幕上的用戶的土地在
https://www.example.com
- 用戶認證使用表單如果憑證有效,則請求令牌交換在訪問令牌
- 訪問令牌保存在會話,並在用戶喜歡它註銷到期通常會
步驟3感覺就像它是錯的,因爲會有duplica te代碼,但不是它打開我的XSS攻擊是登錄表上https://www.example.com
發送數據到https://api.example.com
因爲他們是在技術上不同的域?
我是不是過度複雜?
請您詳細說明第3項?用戶登錄時是否將會話ID保存在cookie中,然後將其用作僞訪問令牌,以便在您進行API調用時,然後在收到API請求時查找它?這似乎是一個安全漏洞... – Steve 2011-12-16 19:35:14