2

signpost libを使用してAndroidアプリをRails Oauth 2.0プロバイダーに接続しています。ログインするたびに、Web ブラウザーを起動してアプリを承認する必要があります。回避する方法はありますか?

4

1 に答える 1

2

あなたは言いませんが、アクセス トークンとシークレットをキャッシュしていないようです。これらを共有設定に保存し、次にアプリを実行するときにそれらを使用してリクエストに署名すると、認証段階をスキップしてリソースに直接アクセスできるはずです。


編集:

コメントありがとうございます。ユーザーが認証されたら、アプリケーションに PIN を入力してもらい、それをアクセス トークンとシークレットと交換するか、実際には PIN を直接送信するだけの初期コールバックを使用する必要があります。ユーザーの介入なしで。

したがって、ユーザーが手動で PIN を入力する必要がないようにするには、コールバックを使用するだけです。トークンが有効である限り、再度コールバックを使用する必要はありません。

ログインするたびにアプリを再承認する必要がある場合 (質問に明確に記載されているように)、次の 4 つの可能性が考えられます。

  1. 実際、アクセストークンを適切にキャッシュしていません (または破損しています)。
  2. ログイン後すぐにトークンが無効になります (有効期限が非常に短い可能性があります)。
  3. 実際にはログイン ページに移動する必要がないのに、実装によって誤ってログイン ページに移動しています。
  4. あなたの実装は、新しいアクセス トークンを誤って要求しています (したがって、以前のものを無効にします。この特定のバグがあり、アプリで何週間も困惑していました)。

この段階で、問題がどこにあるかを確認できるように、コードを投稿する必要があると思います。

于 2011-08-19T15:25:15.900 に答える