問題タブ [jwt]
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.
javascript - node.jsでのJWTの検証
このサンプル(.NETで作成)に基づいてnode.jsのJWTトークンを解析および検証しようとしています:https ://github.com/liveservices/LiveSDK/blob/master/Samples/Asp.net/AuthenticationTokenSample/ JsonWebToken.cs
トークンを検証するノードjsjavascriptは次のとおりです。
さて、非常に奇妙なことは-それはほとんど機能します。3つのconsole.logステートメントの出力は次のとおりです。
+-/ _ =を除いて、ハッシュが両方とも同じであるのは疑わしいようです。
誰かが私の間違いを見つけますか?私のbase64エンコーディングと関係があります。
アップデート
もう少しプレイしましたが、ここではbase64エンコーディングで何かファンキーなことが起こっているようです。ノードjsの次のコード:
収量:
どちらが非常に奇妙に思えますか?
github - luciferous jwt で goog.payments.inapp.buy を使用するには?
これを読むhttps://developers.google.com/in-app-payments/docs/tutorial
上記のページから引用: 秘密鍵 (セラー シークレット) を使用して JWT に署名するため、サーバー側のコードを使用して JWT を生成する必要があります。ライブラリを使用する場合は、最も簡単です。https://github.com/luciferous/jwt
これは何とか入れないといけないのでしょうか…?どうやって?そこには複数のファイルがあり、それぞれが何をしているのかを読んでいません。私は非常に混乱しています!
ドキュメントは言わないだけです!
api - Googleウォレットの実装を開始するのは時期尚早ですか?
Googleウォレットのアプリ内決済、https://developers.google.com/in-app-payments/、デベロッパーのドキュメントとツールは、現時点では壊れているか、不完全であるか、関連情報が不足しています。彼らが注意を払い、おそらく私たちの懸念を聞いてこれを改善することを期待して、私はこれを書かなければならないと感じています。また、この新しい決済システムに関する開発者情報は今のところあまりないので、これが前向きな活動を生み出すことを願っています。
サポートドキュメントは、 https://groups.google.com/group/in-app-payments/topicsにある非常に静かなフォーラムを示しています。理想的には、ここで物事が生きている場所を指すことができます!;)
サーバー側の例は部分的にしか文書化されていません。指示では、約5つまたは6つの異なるライブラリの1つを使用することを提案していますが、指示は完全にそこで終わります。
1つのライブラリリンクは、Pythonで記述されたGitHubに保存されたライブラリにつながります。明らかに、使用するには、メインファイルの1つを何らかの方法で書き直す必要があります。繰り返しになりますが、これはGoogleウォレットチームによってドキュメントのどこにも文書化されていません。また、PHPチュートリアルをほんの少しだけ書くことを選択するのも非常に奇妙です。ちなみに、これは非常に人気があり、親しみやすく、非常にレバレッジの高い言語です。代わりに、ページの最初の例https://developers.google.com/in-app-payments/docs/tutorialがRubyで書かれているときに、Pythonでメインの例を書きました...
ドキュメントに関する他の驚くべき品質の欠如は、デバッグ中に発生する可能性のあるさまざまなエラーコードを一覧表示するページです。それが欠けていることは本当に驚くべきことです。
エラーは次のようになります。問題がありました。技術的な問題により、購入を完了できませんでした。以下の問題の詳細:残念ながら、販売者のサーバーで購入を確認できませんでした。ご注文はキャンセルされました。この問題が続く場合は、販売者に連絡してください。
さらに、これらのエラーについては何も書かれていません。
それらのいずれも、誰かを支援するための専門的な期待および/または決定的な情報を示していません。
さらに一歩進んで、JWTを生成するためのツールが壊れています。
http://developers.google.com/in-app-payments/docs/jwtdecoder
https://checkout.google.com/customer/gadget/inapp/demo.html
少なくともドキュメントでは、「アプリ内決済APIはJSON Webトークン(英語の単語jotのように発音されるJWT)を使用する」という非常に便利なことを教えてくれました。「ジョット?」あなたがパブにいるとき、これらのことを発音する方法を知っていることは常に良いことです。そのような間違った発音の女の子とおしゃべりするのを馬鹿にしたくありません!
javascript - PHPでGoogleウォレットを使用するにはどうすればよいですか?
私は現在、これまでで最も行き詰まっており、PHPを使用してGoogleウォレットを実装しています。私は過去2週間、運がほとんどないかまったくない状態でそれを研究してきました。
この点で立ち往生しているのは私だけではありません。どこから始めればいいですか?チュートリアルやドキュメントをインターネットで検索しても効果はありません。
php - Google アプリ内支払い: Google のポストバック JWT を処理する方法
ばかげた質問かもしれませんが、私は上級プログラマーではありません。アプリのアプリ内支払いを正常にセットアップしましたが、ポストバック URL を使用しないと機能しません。
私はこれに自分で取り組むために何時間もグーグルで検索しましたが、成功しませんでした。うまくいけば、誰かが私を助けてくれます。投稿データを処理するスクリプトを含めましたが、これは明らかに何か間違っています..これはGoogleが言っていることです:
サーバーは、Google がポストバック URL に送信する HTTP POST メッセージごとに 200 OK 応答を送信する必要があります。この応答を送信するには、サーバーが次のことを行う必要があります。
POST メッセージの jwt パラメーターで指定された JWT をデコードします。注文に問題がないか確認してください。JWT の「orderId」フィールドの値を取得します。本文に 1 つだけを含む 200 OK 応答を送信します。ステップ 3 で取得した「orderId」値です。
これは私が書いたものですが、私が見る限り、それをテストする方法はありません (Google からの投稿をどのようにシミュレートできますか?)。
どんな助けでも大歓迎です。ありがとうティム
php - サービスアプリケーションとGoogleAnalyticsAPI V3:サーバー間OAuth2認証?
自分のGAアカウントからGoogleAnalyticsデータを定期的に取得するサーバーアプリケーションを作成しようとしています。これは、私自身のデータにアクセスする個人的なサーバー側のアプリケーションです。つまり、このアプリケーションにアクセスするエンドユーザーは存在しません。
そのため、アプリケーションをGoogle APIコンソールにサービスアプリケーションとして登録しました。これにより、クライアントIDと秘密鍵が提供されました。このサーバー間認証フローにはエンドユーザーがいないため、サービスアプリケーションはアプリケーションシークレットおよびリダイレクトURLを使用しないことを理解しています。実際、Google APIコンソールは私に秘密を与えず、リダイレクトURLの入力を求めませんでした。
残念ながら、 GoogleのPHPクライアントAPI内でサービスアプリケーションを認証する方法がわかりません。エンドユーザーによるWebアプリケーションの認証に関する広範なドキュメントがあります。
Googleのドキュメントによると、秘密鍵を使用してJWTリクエストに署名することで、サーバー間で認証を行うことができます。PHPクライアントAPI内での方法がわかりません(ただし、ソースを参照し、秘密鍵を使用して要求に署名するスクリプトは間違いなくあります)。
ここで何かが足りませんか?秘密鍵とGooglePHPクライアントAPIを使用してサービスアプリケーションの認証を実行するにはどうすればよいですか?
わかりやすくするために編集
c# - C# に JSON Web Token (JWT) の例はありますか?
ここでクレイジーな薬を飲んでいるような気がします。通常、Web 上には、特定のタスク用に常に 100 万のライブラリとサンプルが存在します。ここで説明されているように、JSON Web トークン (JWT) を使用して、Google の「サービス アカウント」で認証を実装しようとしています。
ただし、クライアント ライブラリは PHP、Python、および Java のみです。Google の認証以外で JWT の例を探しても、JWT の概念に関するコオロギや草案しかありません。これは本当に新しく、おそらく Google 独自のシステムなのでしょうか?
私が解釈できる最も近いJavaサンプルは、かなり集中的で威圧的です。C# には、少なくとも開始できる何かがあるはずです。これについての助けは素晴らしいでしょう!
c# - 「Google サービス」の OAuth2 認証は「invalid_request」を返します
Google の「サービス アカウント」認証の oath2 仕様を使用して認証するための json リクエストを作成しようとしています。ここでGoogle のドキュメントを使用しています。JWTを使用しています。C# を使用してこれを行う方法については、あまり情報がないようです。これは私が使用している RAW json リクエストですが、Google から取得できる唯一の応答は「invalid_request」です。
何が起こっているのかについてのアイデアはありますか? 設定された間隔で Google の緯度の場所に ping を実行する Windows サービスを作成しようとしていますか? このフープを飛び越えずにその API にアクセスする別の方法はありますか? ありがとう!
c# - サービス アプリケーションの Google oAuth 2.0 (JWT トークン リクエスト)
ここで説明されているサービス アカウントに Google oAuth 2 を実装しようとしています: https://developers.google.com/accounts/docs/OAuth2ServiceAccount on UnityScript (または C# - どちらも同じ Mono .NET を使用するため、問題ありません)クラス)。
ここで同様のトピックを見つけました: Is there a JSON Web Token (JWT) example in C#? web-token-jwt-example-in-c ですが、まだ成功していません。
まず第一に、ヘッダーとクレームセットを生成しました (これは、Google のドキュメントとまったく同じです)
結果は次のとおりです (わかりやすくするために改行で区切られています)。
{"alg":"RS256","typ":"JWT"}
{"iss":"425466719070-1dg2rebp0a8fn9l02k9ntr6u5o4a8lp2.apps.googleusercontent.com",
"スコープ":" https://www.googleapis.com/auth/prediction ",
"aud":" https://accounts.google.com/o/oauth2/token ",
"exp":1340222315,
"iat":1340218715}
Base-64 エンコード方式:
それではサインを書いていきます。
そして、リクエストを形成します:
そして、「Error 400: Bad request」だけが表示されます。
エンコードされたデータは次のようになります (わかりやすくするために改行が追加されています)。
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.
eyJpc3MiOiI0MjU0NjY3MTkwNzAtMWRnMnJlYnAwYThmbjlsMDJrOW50cjZ1NW80YThscDIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvcHJlZGljdGlvbiIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTM0MDIyMjMxNSwiaWF0IjoxMzQwMjE4NzE1fQ.
LIFG7-Og_BcC5qpICLt7USwGIHUOz-vV4ADNq0AWhuRtsvFrbZn5mxk4n9r5qU66q4reTVVAtuW06DeGsdcBMNGEdIMvN6VuYQybs64p9mqrfECBYxO1FWHbug-2On1IpowybEsRRUjZfp0jFuEYXRajmeXanc0SLE3
何が悪いのかを理解しようと2日間費やしましたが、わかりません。
また、適切なドキュメントや例が見つかりませんでした。
トークンを取得しようとしています。
- バイトに正しい方法で署名していますか?
- クレームセットの「スコープ」パラメーターはどのように見えるべきですか? 「 https://www.googleapis.com/auth/devstorage.readonly」と「https://www.googleapis.com/auth/prediction 」を試しました。
- どの「iss」パラメーターと等しくする必要がありますか? クライアントIDまたは電子メールアドレス? (両方試しました)
- 私の間違いを見つける方法は何ですか?
- サービス アプリケーション用の C# ライブラリはありますか (インストール済みアプリやクライアント ログイン用ではありません)。
私は頭がおかしくなっています...動作する必要がありますが、動作しません... :-/