7

Railsアプリのユーザーは、次の2つの方法のいずれかで認証できます。

  • Facebookアカウントを使用する
  • 独自の認証を使用

私はAndroidとRailsでFacebookSDKを使用していdeviseますomniauth

AndroidでRailsアプリに対して認証して、サーバーから必要な情報を取得できるようにするにはどうすればよいですか?

注意:最近、この質問がかなりの量の意見を得ていることに気づきました。このスレッドで与えられたアドバイスにあまり厳密に従わないでください-ウェブは速く動き、それは3年前にさかのぼります!

4

4 に答える 4

2

これは、fb_graph gem(fbgraphではありません!)を使用して実行できます。

あなたはそれをあなたのgemfileに追加して行うことができます

user = FbGraph::User.me(token).fetch

ここtokenで、たとえばAndroidのFacebookSDKを使用して取得したoauthトークンはあります。 user.emailユーザーのメールアドレスになります(必要な権限を設定した場合)。

このURLをテストに使用できます。

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token
于 2012-12-05T13:33:54.770 に答える
0

フランシスコ、私にはまったく同じニーズがあります。

token_authenticatableを使用したdeviseシナリオは単純なようで、問題にはならないはずですが、Facebookシナリオを処理するための最良の方法がわかりません。Web側では、FB authの場合、ここに記載されているようにomniauth-facebookを使用しています:https ://github.com/plataformatec/devise/wiki/OmniAuth:-概要。これはプロバイダーとしてFBを使用したOAuthを使用していると思うので、OAuthを使用してAPIを保護するドアキーパーに関する最新のRailsCastでうまくいく可能性があります。私はまだ試していませんが、あなたが私を打ち負かさない限り、すぐに試します。リンクは次のとおりです:http://railscasts.com/episodes/353-oauth-with-doorkeeper

于 2012-05-25T21:46:42.933 に答える
0

それは、認証システムがどのように機能するかに完全に依存します。Androidアプリからの通信を処理し、APIを使用して両者間で情報を渡すには、サーバー上にAPIを作成する必要があります。

于 2012-05-25T11:44:44.017 に答える
0

ニラジ・シャーは完全に正しいですが、答えはあなたにとって十分に詳細ではないかもしれません。あなたの質問に対する詳細な回答については、最近リリースされたRyanBatesによるAPIレールキャストの保護をご覧ください。HTTP基本認証について説明します。

APIを保護する/登録ユーザーにデータへのアクセスを提供するためのより高度なオプションも確認することをお勧めします。これについてもここにレールキャストがあります:http ://railscasts.com/episodes/353-oauth-with-doorkeeper-これはプロのエピソードですが、視聴するにはサインアップする必要があります。

于 2012-05-25T12:04:57.850 に答える