私はRubyで書かれたモバイルアプリケーション用のサーバー側のソリューションに取り組んでいます。私たちの要件の一部は、Google's C2DMサービスが理想的と思われるアップデートされたペイロードを受信するために、分散したクライアントに電話の家に通知することです。C2DM with ClientLogin with server
私はすでに必要なものをすべて試作してテストし、そのソリューションがローカルマシンから動作することを確認しました。 (C2DM library for Rubyを使用して、リンクは、証明書がGoogleのapi
サブドメインをカバーしていないSSL証明書の問題を解決するために進行中の私自身のフォークにある。)Google's ClientLogin API内の1つの主要なしゃっくりを除い:
我々の開発に展開しますアプリケーションサーバー私はメッセージを送信できませんでした。結果をさらに深く掘り下げてみると、開発中にローカルで作成した有効なauth_token
を使用していたにもかかわらず、CAPTCHAREQUIRED
とcaptchaトークンにcaptchaイメージのURLを加えた返信をGoogleから受け取っていたことがわかりました。だから私は自分のブラウザを使ってCAPTCHAを要求し、それを解決し、私たちの開発サーバからClientLoginへの返信を投稿するためにカールを使用した後、メッセージを送信するためにはauth_token
が必要でした。
これは、私が運用環境に展開するときに同様の認証の問題が発生すると心配していました。チームメイトと私はもう少し研究を重ねて、auth_token
が期限切れになるという正確な仕様は誰も知っていませんが、「少なくとも2週間」有効であると主張する少なくとも1人のGoogleエンジニアがいます。次に、ClientLoginレスポンスがCAPTCHAREQUIRED
と表示されたときに、ops/devopsの人にページ/電子メールを送信してCAPTCHAを解決し、サーバーアプリケーションのページ/ツールを使用して回答を送信して新しいauth_token
を取得することを提案します。 (これが私がしなければならないことなら、Amazonのメカニカル・タークはその日を節約するだろうと思う)
少なくとも初期インストール中にCAPTCHAを解決する。私たちは生産環境を管理しています。これは大した問題ではなく、まさにCAPTCHAREQUIRED
チャレンジレスポンスを引き起こす原因がわからないため、わずかな不便です。 (私たちは、以前は知られていなかったアカウントのIPアドレスを理論化しています)
私は何かひどくやっていると思っています。
これまでのところ、最初のインストール後にCAPTCHAチャレンジが届きませんでした(クラスタでIRBコンソールセッションを実行する必要がありました - 今後の展開のためにページを書きました)。ただし、トークンの有効期限は2週間の時間。今のところ、3日ごとにcronジョブで再認証するつもりです。 – cfeduke
1-2週間?狂気。それを考慮に入れます、ありがとう。 –