有許多描述客戶的Facebook/LinkedIn/Twitter的API用法方面的OAuth使用資源。還行吧。但我對OAuth服務器實現感興趣。目標是讓移動設備(本地應用程序)可以訪問的Web應用程序,所以我需要在後端Java服務器上設置OAuth。所以我想知道LinkedIn/Facebook/Twitter在他們的服務器端如何實現OAuth,並在auth_token-s之間區分用戶並授予相應的訪問權限(某種數據庫映射 - auth_token =用戶標識?)。OAuth 1.0或2.0服務器實施?原生移動應用認證
或者,也許有更好的方式來驗證移動用戶(我要爲後端使用REST風格的服務)?
你能請,也澄清,如果您熟悉OAuth規範 - 沒有規定如何生成令牌,以及如何映射令牌用戶身份(運行時的HashMap,數據庫等),或該部分缺失在規範中,它取決於提供者的實現,所以Twitter/Facebook/LinkedIn每個人都有自己的提供者實現?也許,您知道這些公司在OAuth體系結構/實施中提供的任何演示文稿/文檔? – akazlou
令牌和祕密生成未指定,這的確是達到用下面的語句實現者:'敦促慎之又慎的一側,使用時間最長的祕密reasonable'。即使用嚴格的加密算法,使用真正的隨機和複雜的鹽。說到OAuth 1,請閱讀:https://dev.twitter.com/docs/auth/oauth。它描述了客戶的實施者需要做什麼,因此也是您作爲提供者需要堅持和支持的東西。我還沒有找到更多詳細的實施文章。在我看來,這歸結於對規格的理解。 –
另一點是,對於OAuth 1的問題域,消費者(客戶端)和提供者(服務器)實際上做同樣的事情,它們使用相同的祕密簽署參數,因此用於簽署請求的客戶端庫可以很容易地用於簽名在服務器端請求驗證。不同的是,一旦完成,一部分發送響應,另一部分接收它們。對於OAuth 2,取決於您選擇的流量,存在更多差異。用戶代理流程似乎是最常用的。但請記住,OAuth 2仍然是規範草案。 –