2012-06-05 40 views
2

我對OAuth和API安全性相當陌生。使用OAuth授權訪問我自己的REST API

我正在構建一個REST API,它將被我自己的移動應用程序訪問。

我想通過OAuth授權和身份驗證向其他開發人員公開API,我將使用自己的OAuth提供程序。

什麼是我自己的移動應用程序的身份驗證策略?畢竟,我不需要用戶授權我的應用程序。我可以使用OAuth進行身份驗證,同時擁有默認預授權的自己的移動應用程序?

我可以使用OAuth驗證移動應用程序的用戶,還是需要OpenID之類的東西?

回答

0

如果您希望跨越用戶授權步驟,我不認爲您需要oauth。但是,如果您決定使用oauth,則可以將授權步驟作爲登錄對話框屏蔽或爲應用程序提供訪問令牌。用戶授權是oauth功能的一個非常重要的組成部分,因此忽略它可能意味着您應該使用其他一些界面來訪問用戶的信息。

+0

ofcourse that users will have a login dialog。我應該爲我自己的應用程序和oauth使用不同的身份驗證方法來訪問第三方應用程序嗎? 什麼認證方法最適合這個? –

0

Accessing my own oauth REST API - OAuth沒有辦法處理REST apriori:OAuth - 是授權協議,REST - 一種架構風格。

對於OAuth - 使用版本2.0 - 已經是2012。例如,對於Android上的移動應用程序,您可以使用可以獲取用戶帳戶與哪個用戶在GooglePlay商店/ GMAIL中註冊他的手機(然後從服務器端生成一次性密碼)。如果有人不會將它們提供給您的應用程序 - 請進行明確的身份驗證。

現在大概只有計算器不使用顯式驗證 - 那麼爲什麼你應該有所不同呢?您可以將身份驗證鏈接到FB或Google或任何其他OAuth提供商 - 您是如何創建適當的OAuth提供商的?

您可以使用OAuth和OpenID對用戶進行身份驗證。

+0

所以像我的手機應用程序的api鍵和第三方API訪問的OAuth的東西? –

+0

對於Android,您有內部存儲:'您可以直接在設備的內部存儲器上保存文件。默認情況下,保存到內部存儲的文件對於您的應用程序是私人的,其他應用程序無法訪問它們(用戶也無法訪問)。當用戶卸載您的應用程序時,這些文件將被刪除。「對iOS來說也一樣。我認爲系統默認的方法可以給你足夠的保護 - 使用它們。如果不通過OAuth完全認證 - 但用戶友好。 –

+0

目前我正在使用在HTTP請求標頭中傳遞的API密鑰。用戶使用他的用戶名/密碼登錄,服務器驗證它並返回標識該特定用戶的API密鑰。我正在研究這樣做的標準方式(請記住,我將在第三方應用程序中使用OAUTH) –

相關問題