簡體   English   中英

第三方API服務-網絡安全和AJAX

[英]3rd party API service - web security and AJAX

我正在嘗試創建一個Web應用程序,該應用程序將具有從Twitter檢索第三方數據的組件。 假設我已經在Twitter上注冊了我的應用程序並擁有一個令牌:

  1. 是將令牌存儲在服務器端代碼上的首選位置(我的后端使用Node / Express)嗎? 另一種方法是將其存儲在我的客戶端代碼上,但這似乎非常危險,因為每個人都可以檢查我的代碼。

  2. 假設我確實將令牌存儲在服務器端,這是否意味着如果我要對第三方API(即Twitter)進行AJAX調用,請求的流程將是從客戶端到服務器,然后是服務器到第三派對網絡服務?

  3. 如果上述情況是正確的,那么我的服務器端代碼將必須包含一些異步回調/諾言邏輯,以便一旦從第三方Web服務准備好數據后,服務器將執行我的回調以將數據發送回客戶端側?

該答案假定您使用Twitter的“僅應用程序身份驗證”代表應用程序本身( https://dev.twitter.com/oauth/application-only )發出API請求。

  1. 服務器端代碼是存儲您不想公開的任何API密鑰的首選位置。 Twitter的開發人員指南指出:“這些值應被視為與密碼一樣敏感,並且不得共享或分發給不受信任的各方。”

  2. 是的,使用像Twitter的“僅應用程序身份驗證”這樣的身份驗證模型將要求通過您的服務器端代碼代理所有第三方API請求,以保護API令牌。 對於需要隨每個請求傳遞一個簡單的靜態API密鑰的任何第三方API而言,情況也是如此。

  3. 盡管從技術上可能不是必需的,但是在發出第三方API請求時最好在服務器端使用異步操作。 這將為您提供一個更強大的體系結構,以應對Internet請求的不穩定,這是一個好處。

如果您打算代表網站訪問者閱讀或發布Twitter數據,請確保閱讀有關獲取與Twitter一起使用的訪問令牌的其他方法的更多信息: https : //dev.twitter.com/oauth/overview 例如,“三足授權”方法更適合此情況,因為它為最終用戶提供了一種安全的方式,以供最終用戶提供其Twitter憑據並授權請求的應用程序使用其數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM