0

素敵できれいなAPIを作りたいです。私はサイトを作成しており、モバイル アプリが自分のサイトの Web API を使用できるようにしたいと考えています。

私は oAuth を使用したくありません。なぜなら、モバイル アプリケーションや組み込みアプリケーションが最大のハードルに直面しているからです。Web ブラウザを起動したり制御したりできない可能性があるからです。また、少し複雑です。

HTTP 基本認証は安全ではないことはわかっていますが、とても単純です...自分の API で使用したいと考えています。一部のユーザーのログインとそのパスワード (md5 エンコード) が mysql ベースにありますが、この HTTP 基本認証でそれらのデータを使用するにはどうすればよいですか?

4

2 に答える 2

1

データベース内のユーザーごとにランダムな一意の文字列を生成し、その文字列をエンド ユーザーが利用できるようにします。彼らが API にアクセスするとき、あなたが提供した一意の文字列を入力するように依頼します。これが彼らの「キー」です。ユーザー アプリが API にアクセスするたびに、一意のアカウントに直接リンクするキーを渡します。これがユーザーの承認方法です。基本的には、ユーザー名とパスワードがすべて 1 つになっています。

上記の例は一般的なものですが、セキュリティなども考慮に入れる必要があります。たとえば、可能であれば、モバイルからデバイス ID を渡して認証時に使用するか、API キーの生成時に現在のパスワード ハッシュを使用します。パスワードを変更するとキーが機能しなくなり、新しいパスワードを取得する必要があります。これにより、キーを紛失した場合にアクセスを制御できます。

複雑である必要はありません。安全でなければなりません。=)

于 2010-05-26T19:31:48.233 に答える
0

PHPマニュアルには例があり
ます あなたの質問「PHP HTTP基本」をググってください。ここにあなたは
http://php.net/manual/en/features.http-auth.phpです

いくつかの HTTP ヘッダーを送信するのと同じくらい簡単です。

また、ダイジェスト認証はより安全であると考えられていますが、クライアントとの互換性は低いことに注意してください。

于 2010-05-26T16:20:37.843 に答える