0
我正在使用我正在使用的iPhone應用程序github api
。如何使用基本身份驗證爲github api創建oAuth2標記?
要訪問github我使用Oauth與web application
流。首先意味着它打開登錄屏幕,然後我給用戶名&密碼。
但現在我想用密碼授權類型OAuth
。這意味着我想要直接訪問請求URL中提供的用戶名&密碼(沒有單獨的登錄屏幕)。
它有可能嗎?有誰能夠幫助我 ?
我正在使用我正在使用的iPhone應用程序github api
。如何使用基本身份驗證爲github api創建oAuth2標記?
要訪問github我使用Oauth與web application
流。首先意味着它打開登錄屏幕,然後我給用戶名&密碼。
但現在我想用密碼授權類型OAuth
。這意味着我想要直接訪問請求URL中提供的用戶名&密碼(沒有單獨的登錄屏幕)。
它有可能嗎?有誰能夠幫助我 ?
正如github開發者文檔Non-Web Application Flow所述,您將需要創建一個新的授權。
例子:
curl https://api.github.com/authorizations \
--user "put_username_here" \
--data '{"scopes":["user"], "client_id":"your_client_id", "client_secret":"your_client_secret}'
這將提示您輸入密碼的GitHub和返回的OAuth令牌作爲響應。
有關如何在iPhone上執行HTTP基本驗證的信息,請選擇this link。
OAuth旨在防止您需要自己處理用戶的實際憑據。這是好事。即使你的意思很好,也沒有什麼能阻止你將某人的憑證發佈到你的Web服務器,改變他們的密碼等等.OAuth把控制權限管理在用戶的手中(除了Netflix,其OAuth實現太糟糕了,因爲用戶沒有能夠撤銷發給各個應用程序的永久密鑰 - 它們是_removed_的一項功能)。 Web應用程序流程是正確的。您應該擁有OAuth令牌,而不是用戶憑據。 – cjc343
感謝您的回覆,我知道Web應用程序流是正確的,但我想要非Web應用程序流。要獲得Oauth令牌,它需要用戶名和密碼。那麼如何獲得令牌而不提供用戶名和密碼? – Rox
假設這是一個您計劃在App Store發佈的應用程序,我仍然認爲這是一個非常糟糕的安全實踐,並且您將產生的遠遠超過「少量代幣」。也就是說,這裏是[使用curl提供的一個例子](https://gist.github.com/2288960),它提供了一些使用curl的例子。 – cjc343