2017-08-02 6 views
0

私はソーシャルネットワークプロジェクトにCodeigniter restserverを使用しています。 APIを使用して、すべてのサイト機能(i-eログイン、getfriends、postcomments、uploadimagesなど)にアクセスしたい今私は質問がある、私はAPI(rest_auth、キーなど)に任意のタイプの認証を置く必要がありますか、私はそれを開いたままにする必要がありますか? APIの設計方法Codeigniter Restserver - APIを使用してすべての関数を呼び出す際のベストプラクティス

設定でrestserver自身の認証設定を使用すると、すべての関数呼び出しで認証が必要になりますが、私の場合はログインやサインアップ関数よりも認証は必要ありません。

機能内で独自のセッションチェックを使用できますか?またはrestserverが間違いなく私がここで欠けているものを持っていると思うので、よりよいアプローチがあります。

答えて

1

独自のセッションチェックを使用する場合は、session$config['rest_auth']に入力してください。

ドキュメントをよる

あなたは、クライアントがPHPセッションを使用して認証AJAXエンドポイントにこのライブラリを結びつけている場合は、あなたがダイジェストでも、基本的な認証方法のいずれかを好まないかもしれません。

この場合、RESTライブラリにどのPHPセッション変数をチェックするかを伝えることができます。変数が存在する場合、ユーザーは許可されます。その変数を設定するのはアプリケーションの責任です。

$ config ['auth_source']に変数を定義することができます。次に、$ config ['rest_auth']をセッションに設定して、PHPセッション変数を使用するようライブラリに指示します。

ソーシャルネットワークのウェブサイトであるため、将来このAPIへのアクセスが必要なモバイルアプリなどがあると思われるため、このオプションはお勧めしません。そしてそこにPHPセッションをチェックする必要はありません。

私が読んだことでは、OAuth2はRest APIを保護するための最善の選択肢ですが、まだ実装する方法はわかりません。

今のところ、私がCodeIgniter REST APIでやっていることは、各ユーザーのAPIキーを生成することです。これらのキーには有効期限があります。有効期限が到来すると、APIキーがリストから削除され、ユーザーは新しいAPIキーを取得するために再認証(ログイン)する必要があります。

これはちょっと役立ちます。私はこの同じ検索にもいるし、それはさらに私が得たものだ。

+0

ありがとうございました。私はAPIですべてを書かないことに決めましたが、私は別の目的のためにAPIを作成します(特定の目的のみ)。将来的に私のプロジェクトのためのアプリを開発する予定だが、今の段階でこれが私が採用したい唯一の解決策であるなら、私には多くの時間がかかるだろうことは分かっている。 – 99Points

関連する問題