11

https://github.com/alexbilbie/CodeIgniter-OAuth-2.0-Server

私は GitHub でこれを見つけましたが、実装する手順は OAuth コードを CodeIgniter にインストールするのに実際には役に立たず、これを行う方法に関する本当に良い記事は見つかりませんでした

これを設定するのを手伝ってくれる人がすでにこれを行っていますか?

4

4 に答える 4

32

ヘ・ホアン

oAuth ライブラリは、自明ではありません。これが私がそれを機能させた方法です:

基本

  1. oAuth 2.0 ドラフト 23を読んで、 oAuthの基本的な概念、ロール、およびフローを理解してください。
  2. 次に、CodeIgniter インストールで alexbilbie からコントローラとライブラリをインストールするための指示に従います
  3. テーブルをインストールし、アプリケーションといくつかのロールを追加します (Facebook アプリと、アクセス許可を要求できるロールについて考えてください)。
  4. oAuth_server.php ファイルの下部のどこかに validate_user 関数を作成したことを確認してください。

リクエストをする

次に、クライアントとして認可リクエストを実行します。このセクションでは、これらのいくつかの簡単な手順について説明します。

編集: Philsturgeon の oAuth 2.0 認証ライブラリを使用して、これを自動化できます。ここで説明するのは手動の方法です。

ライブラリの場合、これは次のことを意味します。

/index.php/oauth?client_id=IN_YOUR_APPLICATION&redirect_uri=IN_YOUR_APPLICATION&response_type=code&scope=YOUR_ROLE

データベースに入力したデータを変数に入力します。

それが与えるかもしれないエラーのいくつかをデバッグしてください..

すべてがうまくいけば、次のようになります。

サインイン -> アプリケーションを承認 -> ?code=XXXXXXX の redirect_uri ページを参照してください

その XXXXXXX コードが必要になります

次に、redirect_uri で /index.php/oauth/access_token に投稿します。

これらのバリアベルで(あなたは今それらすべてを知っています)

  • client_id (アプリケーション テーブル内)
  • client_secret (アプリケーション テーブル内)
  • redirect_uri (アプリケーション テーブル内: access_token を保存する場所)
  • コード (XXXXXX)
  • grant_type ('authorization_code' である必要があります) このセクションを読めばわかります!

その投稿は、access_token (またはエラー) を含む JSON 文字列を返します。うん!

次は何ですか

access_token を実際のアプリケーションに保存し、リクエストで使用します。リソース サーバー (おそらく API と、先ほど説明した承認サーバーと同じ CodeIgniter プロジェクト) では、結果を返す前に access_token を検証する必要があります。

これは次のように機能します。

$this->load->library('oauth_resource_server');
if (!$this->oauth_resource_server->has_scope(array('account.basic')))
{
    // Error logic here - "access token does not have correct permission"
    show_error('An access token is required to request this resource.');
}
else
{
    //GO RETURN RESULTS
}
 

これでうまくいくことを願っています!

PS: ただし、アプリケーション、セッション、およびロールを自分で管理するには、管理領域を構築する必要があります。

エリック

于 2012-06-06T12:04:34.867 に答える
3

codeigniter で使用するのに非常に適した別の Spark ライブラリを使用しました。これをsparkでインストールして使用する方法に関する良いチュートリアルです。 codeigniter の Oauth チュートリアル

于 2013-05-06T04:21:19.673 に答える
0

このスパークを試すことができ ます http://getsparks.org/packages/oauth2/versions/HEAD/show

手順は明確であり、実装するのはそれほど難しくありません。

于 2012-06-06T09:46:46.513 に答える