2010-05-26 40 views
0

我想做出漂亮又幹淨的api;我正在製作網站,並希望爲移動應用提供使用我網站的網絡API的功能。web api中的簡單授權

我不想使用oAuth,因爲它們可能無法啓動和/或控制Web瀏覽器,因此面臨最大障礙的移動和嵌入式應用程序。它也有點複雜。

我知道,HTTP基本授權不安全,但它非常簡單...我想在我的api中使用它。 我有somee用戶登錄和他們的密碼(md5編碼)在MySQL基地,但如何在這個HTTP基本授權使用這些數據?

回答

1

爲數據庫中的每個用戶生成隨機唯一字符串,並使該字符串可供最終用戶使用。當他們訪問API時,要求他們輸入您提供的唯一字符串 - 這是他們的「關鍵」。每次用戶應用程序訪問api時,他們都會將鏈接直接鏈接到唯一帳戶的密鑰,這就是您授權的方式。它本質上是用戶名和密碼。

雖然上面的示例是通用的,但您還應該考慮安全問題 - 例如,如果可能,請將設備ID從移動設備傳遞並在身份驗證期間使用該設備ID,或在其API期間使用當前密碼哈希密鑰生成,所以如果他們更改密碼,密鑰將停止工作,他們必須獲得新密碼 - 這樣,如果密鑰丟失,他們可以控制訪問。

它不一定很複雜,它必須是安全的。 =)

+0

這似乎是非常好的主意,非常感謝你:) – monthon1 2010-05-26 22:23:32

0

PHP手冊有一個例子
物權Google提問「PHP HTTP基本」,在這裏你是
http://php.net/manual/en/features.http-auth.php

它是作爲發送的HTTP頭一樣簡單。

另請注意,摘要授權被認爲是更安全但與客戶端不兼容。