在JavaScript中安全地進行Twitter OAuth認證的最佳方式是什麼?安全Twitter的OAuth認證JavaScript/jQuery(加上服務器端幫手)
我想寫一個程序,讓用戶分析他的Twitter使用情況和關注者/朋友。我已經編寫了一個使用python tweepy模塊的服務器端版本。
我想與人分享,但我希望它在瀏覽器中運行,以便在我的小型服務器上運行。
我看到了另一個問題,其中的結果是,它不推薦,而不是安全: JavaScript OAuth sign in with Twitter
這是有道理的,如果一個被髮送的應用程序的JavaScript消費者(應用程序)的祕密或訪問(用戶)的祕密。
但爲什麼我不能建立在服務器端喜歡這裏的URL - http://djangosnippets.org/snippets/1353/
然後從OAuth的工具Twitter的我的應用程序頁面上(不發送的驗證URL返回給瀏覽器,這樣的事情有效憑證)
GET &的https%3A%2F%2Fapi.twitter.com%2F1%2F &拿到%252Faccount%252Fverify_credentials_json%3D%26oauth_consumer_key%GD0bgcgMU4MDwNfKQpLFQS3%26oauth_nonce%3D24ad5049501dee1292afd8cf22307d68%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1329173626 %26oauth_token%uPUpxsBc3D283768289LtQ6R1E z1KeD8DOSsm5XpqJaKI28ysYh%26oauth_version%3D1.0
然後讓jQuery使用它來驗證用戶的憑證並運行分析。
這是一件重要的工作,我討厭這樣做,然後發現它不起作用或是一種不安全的方法。 (或已經完成)
這是否安全?它似乎沒有揭露任何祕密。
這會工作嗎?
任何指針/正確的方式來做一個jQuery noob的身份驗證的指針/示例,必要的授權:頭和Cookie /重定向處理?
我覺得我錯過了什麼,或者有一個原因,這將無法正常工作,或者它應該已經存在某處,但還沒有找到它。非常感謝!
我認爲分裂消費者密鑰和消費者祕密的關鍵是你可以揭穿鑰匙,沒有祕密就沒人能做任何事情。 如果沒有消費者的祕密,那麼只有消費者的鑰匙可以做什麼? – 2012-02-14 00:36:25
是的,你說得對。你基本上提出的是讓你的服務器用你的消費者密碼簽名,然後把它傳回給客戶端。你可以做到這一點,但它不僅僅是讓你的服務器代表用戶發出請求。 – Alan 2012-02-14 01:22:05
是的,基本上我想代理認證,然後讓瀏覽器做一堆API調用。這將是幾百個電話,直到節流限制。另外,它們需要很長時間並在運行時綁定資源。所以我真的不希望在服務器上這樣做,會有更大的負載。想要將URL或標記傳遞迴瀏覽器,然後使用它來使用jQuery或純JavaScript進行API調用。 – 2012-02-14 01:32:34