1

認証を使用して、Androidクライアントから、Pythonでクラウドエンドポイントを使用して構築されたappengineバックエンドにアクセスしようとしています。

API Explorer からの認証は正常に機能しています。

Android 側では、 https ://developers.google.com/appengine/docs/python/endpoints/consume_android で説明されている資格情報/アカウント ピッカー メソッドを使用しています。

しかし、Android クライアントからアクセスすると、appengine ログに次のように表示されます。

「Oauth フレームワーク ユーザーが oauth トークン ユーザーと一致しませんでした。」

その前に、次の警告があります。

「id_token 検証に失敗しました: pycrypto ライブラリを読み込めません。id_token 署名を検証できません。詳細については、 http: //www.pycrypto.org を参照してください」

4

1 に答える 1

4

Android クライアントからクラウド エンドポイントを使用して GAE アプリにアクセスする場合、ID トークンが使用されます。したがって、警告が表示される場合はOauth framework user didn't match oauth token user、id_token の検証で何らかのエラーが発生し、次のような警告が表示されている必要があります。この場合id_token verification failed. Checking for oauth token.、メソッドが None を返すかどうかendpoints.get_current_user()を確認してから、認証部分のエラーを確認してください。

この投稿では、 ID トークンについて詳しく説明し、この投稿では、ID トークンを使用する際に User_id を知ることの制限と考えられる回避策について説明します。

編集:: Kai Stavginski の提案に基づいて、最終的な解決策の下を見つけてください

示唆されているように、id_token 検証で何らかのエラーが発生すると、oauth フレームワークの警告が表示されます。したがって、変更された質問に従って、ログには、id_token verification failed: Unable to load pycrypto libraryこれが pycrypto ライブラリを app.yaml に追加する必要があり、id_token の失敗が解決され、oauth 関連の警告が表示されなくなります。

于 2013-06-30T08:01:55.897 に答える