私は、OAuth2とPerl(Net :: OAuth2)を中心に、具体的にはデータベース用のRESTful APIを設定し、それを使用するアプリケーションを取り上げようとしています。PerlでOAuth2サーバをどのように書くのですか?
Perl Oauth2 package Net :: OAuth2に私を導いた。
として近く、私が理解できるように、私は(私はどこかの雑草にオフだ場合、私を修正してください)実行する必要があります物事のカップルがあります:
- サーバー側:RESTサーバーを構築(これはmojoliciousで現在再生されています)。
- サーバー側:(??)
- クライアントアプリケーション認証/認可サーバを構築するには:私の頭の中でRESTサーバー
に話をWWW :: Mechanizeの(またはいくつかのように)を使用して、ここですどのように動作します:
- クライアントアプリがAPIキー(?サーバー(RESTサーバ認証サーバ)に登録し、クライアントに「焼き」)
- を持つユーザーは、エントリ(ユーザ名を持っていますおよびパスワード)をサーバー上のデータベース内のテーブル
- ユーザーがクライアントアプリケーションを起動し、保護されたリソースにアクセスしようとします(たとえば、行を更新するなど)(クライアントで「この操作を行う」メニューオプションを選択するなどして再度実行します。クライアントは、サーバーが、サーバー
- (サーバの)認証/認可ビットにクライアントをリダイレクトし、クライアント、およびユーザーがユーザー を認証するために魔法のOAuthダンスを行う
- )例えばhttp://the.rest.server/api/thisthing、REST APIのURIにあることを翻訳します
- サーバ、クライアント、ユーザが別の魔法のOAuthダンスを行い、ユーザがそのリソースURIを見ることを許可されていることを確認します
- すべてが良い場合、サーバはクライアントを最初に要求されたリソースURIにリダイレクトしますどんなauth parmsも必要です)。
これはプロセスの合理的な評価ですか?
もしそうなら、 "認証/承認"をRESTサーバーの一部として、または完全に別のサーバーとして使用する方が理にかなっていますか? (同じハードウェア上に)。
Net::OAuth2::Profile::WebServerは、クライアントアプリケーション側で何が起こるかをうまく説明します。 http://cpansearch.perl.org/src/MARKOV/Net-OAuth2-0.55/t/で
テスト(私はしない限り、本当に欠けている何か)(再び)「クライアントアプリケーション」になりネット::のOAuth2のWebサーバプロファイルでの作業についてです。
Google APIのような既存のOAuth2サーバーに接続するクライアントを書くための他の例がありますが、サーバーの作成例は見つかりません....(私はRTFMにかなり喜んでいます、私ができる場合を見つける FM ...ポインタが高く評価!)
おかげで、divyanshm - 理にかなっています。 – bibliophylum
私は古い(維持されていない?)Perlモジュールも見つけました: [OAuth :: Lite :: Server](http://search.cpan.org/~lyokato/OAuth-Lite-1.31/lib/OAuth/Lite /Server/mod_perl2.pm) ...私は将来の読者のためにここでそれを参照すると思った。 – bibliophylum