問題タブ [google-identity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-app-engine - アプリケーションのデフォルト認証情報が App Engine でローカルに機能しない
OS X で開発している Java アプリ エンジン プロジェクトでローカルに実行する場合、デフォルトのアプリケーション資格情報をデータフロー SDK にロードするのに苦労します。デプロイすると正常に実行されます。
thisによると、開発アプリサーバーはそれらをサポートしていません.gcloudコマンドラインツールのコマンドを使用することを意図しています: -gcloud preview app run
しかし、SDKの公式Googleグループによると、そのコマンドは2016年1月に廃止されました
だから私は岩と難しい場所の間で立ち往生しているようです.App Engineアプリでアプリケーションのデフォルト資格情報をローカルで動作させる方法を知っている人はいますか?
Dataflow API を使用しようとしていますが、クラウド ストレージ API の使用を開始するとすぐにスローされます。これは、環境変数から正しい資格情報を読み込めないように見えるため、パイプラインが最初に行うことです (つまり、 ENV および appengine-web.xml<env-variables>
要素 ) または~/.config/cloud/default_application_credentials.json
ファイルから確実に設定します。
乾杯!
authentication - ウェブサイトのユーザーが Google ID プラットフォームを使用してウェブサイトにログインするときに、2 段階認証プロセスを使用するよう強制する方法はありますか?
ユーザーが Google ログインでサインインできる Web サイトがあります。一部のユーザー (私の Web サイトで自分のアカウントをより適切に保護したい) に、Gmail で有効化していなくても 2 段階ログインでサインインするよう強制したいと考えています。
google-identity-toolkit - 自己登録を無効にする
Google Identity Toolkit でユーザーの自己登録を無効にするか、データベースに登録できるメールを制限しようとしています。出来ますか?ありがとう。
java - Identity Toolkit for Websites v3 は access_type=offline を追加してパラメータ値を続行しますか?
Identity Toolkit for Websites v3 は、認証コード signInSuccess コールバック tokenString 引数を提供します。
//www.gstatic.com/authtoolkit/js/gitkit.js は難読化されており、文書化されていませんが、役立つはずの .gstatic.com/authtoolkit/js/gitkit-debug.js を見つけましたが、より良い方法があるかどうかまだ知りたいです方法または私が何かを逃している場合。
問題は、パラメーター access_type=offline を設定する方法が見つからないため、リフレッシュ トークンを取得できないため、Google API Client Library for Javaを使用して、idp google.com でのログイン後はオプションではないようです。提供されている連携ログイン ソリューションでは使用できません。Google プロバイダーの oauth フローを個別に実装する必要があります...ここに何かが欠けているに違いないとは信じられません。
# 他の Google API へのアクセスに使用できない場合、URL の認証コードへのアクセスを提供する意味は何ですか。
いずれにせよ、2012 年に誰かが同じ問題を抱えており、[this][2] フォーラム ディスカッションで見られる v1 の解決策が提供されました。
応答は「異なる IdP には、リフレッシュ トークンを取得するさまざまな方法があります。つまり、Microsoft の場合、"wl.offline_access" スコープが必要です。Google の場合、"access_type=offline" URL パラメーターが必要です。現在、GITKit にはありません。正規化された方法はありましたが、現在調査中です。」
彼らが2012年にそれを調べていたなら、確かに何らかのアプローチがあります...いずれにせよ、私の要件は現在Google APIにアクセスすることだけです。
そこで、access_type=offline を選択できる google oauth playground と account chooser url continue の流れを比較すると…こんな感じ
access_type パラメータが表示される場所。すべての適切な場所で gitkit-debug.js にいくつかの追加の構成プロパティを追加し、POST が送信されるまで関数にステップインする実行をトレースしました。それらを含まないURL
POST 直前のデータ オブジェクトの状態を示すデバッグ コンソールのスクリーンショット
私の結果のurl continueパラメータは次のようになります
access_type=offline が削除される理由と方法は?
google-cloud-platform - 断続的 (ただし頻繁) の Google Identity Toolkit 検証エラー: 「プレーンテキストが大きすぎます」
常にではありませんが、Google Identity Toolkit から「プレーンテキストが大きすぎます」というエラーが表示されることがあります。(RSA を使用して) 署名を検証しようとしているセクションにあるようです。ペイロードの SHA256 ハッシュを検証しているため、平文のサイズにばらつきはありません。
使用しようとしているトークンをログに記録し、それをhttps://jwt.io/のデバッガーに渡し、Google RSA 証明書 ( https://www.googleapis.com/identitytoolkit/v3/relyingparty/から) を渡します。 publicKeys ; jwt.io が上部の「kid」の下の赤いボックスに入れるキー識別子を使用すると、署名が有効であることが示されます。
これはごく一部の時間、おそらく半分強でしか発生しません。認証を繰り返すと、問題ないようです。
これは、新しい認証でのみ発生するようです。すでに認証されている場合、現在セッション Cookie を使用していなくても、すべて正常に動作します。私のコードは、すべてのリクエストで gtoken 認証を検証します。サインインしたら、(再び gitkit を使用して) サインアウトするまでは問題ありません。しかし、後でもう一度サインインすると、このエラーが発生する可能性があります。
インフラストラクチャに App Engine を使用しています。これは、dev_appserver とデプロイされた App Engine の両方で発生し、JavaScript gitkit ライブラリを使用するデスクトップ ブラウザと Objective C gitkit ライブラリを使用する iOS アプリの両方で発生します。(iOS で dev_appserver に対してテストしたことはありません。デプロイのみです。)
私が使用しているコードは次のようになります。
スタック トレースは次のとおりです (上記の行から始まります)。
「プレーンテキストが大きすぎます」というエラーは、ペイロードのサイズが RSA キーのサイズを超えた場合にのみ発生します。2048 ビットの RSA キーに対して SHA256 ハッシュを検証しているので問題ないはずですが、googleapis.com からのキーの読み込みに問題がある場合があるのではないかと考えています。私の次のステップは、API 統計モジュールを使用して、これが発生したリクエストで urlfetch 呼び出しを探し、_pycrypto_crypt.py を拡張して、検証しようとしている RSA キーをログに記録することです。しかし、ここで Stack Overflow をチェックして、誰かがすでにこの道をたどっているかどうかを確認しようと思いました.
更新: ログを追加して、いくつかのことを学びました。まず、JWT ヘッダーで指定されたキー ID を使用するのではなく、gitkit API (またはそれが使用するライブラリの 1 つ) は、Google Identity Toolkit キーセットの各キーを繰り返し試行します。第二に、十分なログを記録していたときにエラーが発生した場合、実際にはキーセットにあるキーの 1 つをテストしているため、キーのロードに関する私の理論は無効になります。しかし、実際には 2048 ビットのキーに対して 256 バイトの文字列を検証しようとしているので、まったく問題ないはずです。
最後に、通常はすべてのキーを反復処理しますが、このエラーが発生したときは、最初に試行したキーでエラーが発生します。これは、場合によっては、壊れた pycrypto を早い段階でインポートしているのではないかと思います。
バックトレースからわかるように、私は Google 提供の pycrypto を使用していますが、ローカルでコンパイルされたものが私のアプリの "lib" ディレクトリ (sys.path にあります) にあり、Google で販売したときにそこに保存されました。アイデンティティ ツールキット。
android - Sony Ericsson WT19a (Android バージョン 2.3.4、API 10、320x480 ピクセル) で、[Google Save Smart Lock password with Smart Lock?] ダイアログの表示の問題
Smart Lock に関する Google Codelab に関連付けられている GitHub リポジトリ googlecodelabs/android-smart-lock の最後のブランチからコードを実行しています (興味がある場合は、「Smart Lock を使用したシームレスなサインイン」)。
問題は、私のデバイス (Sony Ericsson WT19a、Android バージョン 2.3.4、API 10、320x480 ピクセル) で、サインイン後にこのダイアログが表示され、「パスワードを保存する」ボタンが表示されず、メッセージが不完全な:
次のようになります (これは、Genymotion エミュレーター Android 5.1 で実行されているコードと同じです)。
デバイスでダイアログが正常に表示されるようにするにはどうすればよいですか? それとも、これは Google の開発者だけが対処できる問題ですか?
java - GoogleIdToken からユーザー プロファイルを取得する
私はこれをやろうとしています:
https://developers.google.com/identity/sign-in/web/backend-auth#calling-the-tokeninfo-endpoint
例から Java コードを CLIENT_ID とともにコピーして貼り付けましたが、ユーザー ID、電子メール、および電子メールの検証以外の情報を取得できません。idTokenString は OK を検証します。他の誰かがこれを機能させましたか?
OAuth 2.0 Playground でこれらを要求しました。
https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/plus.me
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/plus.moments.write
https://www.googleapis.com/auth/plus.profile.agerange.read
https://www.googleapis.com/auth/plus.profile.language.read
https://www.googleapis.com/auth/plus.circles.members.read
user.profile だけが必要だと思いますか?
これは私のコードです:
使用: java-api-client 1.20.0
android - App Engine バックエンドを使用した新しい Google ログインの実装
Google は、ユーザーが Google アカウントでアプリケーションにサインインできるようにする新しい方法をリリースしました。
http://android-developers.blogspot.de/2016/05/improving-security-and-user-experience.html https://developers.google.com/identity/sign-in/android/start-integrating
新しい API の使用が推奨されているので、使用したいと思います。ただし、一部の手順についてはまだよくわかりません。サインイン ワークフロー自体を実装する方法は明らかです (サンプル アプリケーションは非常に理解しやすいものです)。しかし、バックエンド サービスの API サービス ハンドルを取得するにはどうすればよいですか?
今まで、私はこのように使用していました: まず、このGoogleAccountCredential
ようなものを取得します:
次に、これらの資格情報を、アプリ エンジン エンドポイント用に自動生成された Android クライアント ライブラリに渡しました。
それだけでした。GoogleAccountCredential
ただし、新しいサインイン ワークフローを使用する場合の取得方法がわかりません。誰かがアイデアを持っていますか?バックエンドも更新する必要がありますか? 前述したように、バックエンドとの OAuth2 通信と承認はすべて、自動生成されたクライアント ライブラリによって行われます。