2013-05-15 13 views
11

私はRailsとAngularJSに基づいてアプリケーションを作成しています。私は、宝石Deviseを使って認証システムを実装したいと思います。 私はそれを行う方法が不思議です。私は属性に関するいくつかの記事を読んでいます:token_authenticatable:私が送るすべての要求の最後に私のトークンを入れなければなりません。AngularJsとDevise Railsによる認証、トークンシステムが必要ですか?

このデモプロジェクトも読んでいますhttps://github.com/sectore/CafeTownsend-Angular-Rails サーバーセッションの作成と削除ができるSessionServiceを実装しています。 (私はこの仕事にDeviseを使うことができると思います)。レールコントロールでは、セッション[:user_id]を取得して、ユーザーが認証されているかどうかを確認します。

質問:私の要求を認証するためにトークンシステムまたはクッキーシステムが必要ですか?

おかげ

+0

AngularJSまたはDeviseについての質問ですか?私はAngularJSを使ってトークンとクッキーベースの両方の認証を行いました.Deviseは両方とも(トークン認証可能で覚えやすい)サポートしています。 – jkoreska

+0

私はAPIとしてレールを持つangularjsを使用すると、良い認証システムを設計する方法について私の質問です。両方のソリューションがサポートされている場合は、わかりません。 Cookieベースのものが実装されているほうが簡単かもしれません – vpoulain

+2

ブラウザはリクエストごとに自動的にそれらを送信するので、クッキーは簡単です。ブラウザー以外のクライアントをサポートする予定の場合は、HTTPヘッダーで渡されたトークンを使用する必要があります。すべての$ http要求のトークンヘッダーを挿入するには$ http.defaults.headers.commonをチェックしてください。 – jkoreska

答えて

6

サーバーがクライアントとして同じドメイン上になる場合、すなわち:あなただけの角度のクライアントからの要求を期待され、クライアントがサーバーと同じURLでホストされ、その後、あなたがSSL経由でクッキーを使用する必要があります(簡単にするために)、EG:

あなたのサイト:

www.myangularsite.com/somepage 

あなたのサーバー

www.myangularsite.com/someserverfunction 

どちらも同じドメインです。しかし

、あなたは、EG、多分APIとして、異なるURLにサーバー側を持つことを計画し、その後のトークンで行く場合:

あなたのサイト:

www.myangularsite.com/somepage 

あなたのサーバーを

api.myangularsite.com/someserverfunction 
or 
myrubyapi.com/someserverfunction 

URLドメインが異なります。

関連する問題