この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 57220|答える: 3

[出典] c# WeChatによるトークン検証送信

[リンクをコピー]
掲載地 2016/08/23 15:49:49 | | | |


このトークン認証に関しては、WeChat関係者からの関連書類は一切見つかりませんでした。

ドキュメントは見つかりませんでしたが、WeChatのトークン認証がどのように検証されているのかどうやって知ればいいのでしょうか???

検索はオンラインでのみ可能で、認証方法は以下の通りです:

URLに対応する処理方法で、渡されたパラメータを取得し、暗号化・検証を行います
手続きは以下の通りです:
1. トークン、タイムスタンプ、ノンスの3つのパラメータを辞書順にソートします
2. SHA1暗号化のために3つのパラメータ文字列を1つの文字列につなげる
3. 開発者が入手した暗号化文字列を署名と比較し、WeChatからのリクエストの発信元を特定することができます。


そして、このことを知りつつ、WeChatがリクエストしたURL接続を直接記録し、自分のデバッグを円滑にしました。

最後に、私は次のように暗号化方法を書きました:



ここでは、キーのソート値ではなく、値を直接ソートする方法です。最初にこのミスを犯しました。

通常は鍵ソートされていて、鍵と値が一緒に暗号化されるか、値だけが暗号化されるからです...


最後に、暗号化された文字列と符号を比較し、正解であればWeChatサーバーから送られたechostrパラメータを直接返します。

面倒なら、echostrパラメータの値を返すだけでいいです。




先の:c# AlibabaはSMSのデモソースコードダウンロード送信よりも優れています
次に:XMLのデシリアライズXMLドキュメント(1, 2)にエラーがあります。
 地主| 掲載地 2016/08/23 15:53:51 |
 地主| 掲載地 2016/08/24 13:06:07 |
http://mp.weixin.qq.com/wiki/4/2ccadaef44fe1e4b0322355c2312bfa8.html

ドキュメントを見つけました

開発者が初めて認証申請を提出すると、WeChatサーバーは4つのパラメータ(署名、タイムスタンプ、nonce、echostr)を含む入力URLにGETリクエストを送信し、開発者は署名(すなわち署名)を検証してメッセージの真正性を判断します。
その後、開発者がユーザーメッセージを受け取るたびに、WeChatは開発者が設定したURLにアクセスするための最初の3つのパラメータ(署名、タイムスタンプ、nonce)を持ち込み、署名の有効性を通じてメッセージの真正性を判断します。 検証方法は、検証申請の最初の提出と同じです。
パラメーター形容
署名WeChatの暗号署名は、開発者が入力したトークンパラメータと、リクエスト内のタイムスタンプおよびノンスパラメータを組み合わせたものです。
タイムスタンプタイムスタンプ
ノース乱数
エコーストルランダム文字列
開発者は署名を確認してリクエストを検証します(検証方法は下記に示されています)。 GETリクエストがWeChatサーバーから来ていることを確認した場合、echostrパラメータの内容をそのまま返してください。そうすればアクセスが有効になり、成功した開発者となります。そうでなければアクセスは失敗します。
暗号化/検証のプロセスは以下の通りです:1. トークン、タイムスタンプ、ノンスの3つのパラメータを辞書順にソートする2. SHA1暗号化のために3つのパラメータ文字列を1つの文字列につなぎ合わせます。 開発者が取得した暗号化文字列は署名と比較することで、WeChatからのリクエストの発信元を特定することができます
掲載地 2021/10/07 20:56:07 |
  これらの大手企業はオープンドキュメントを扱っています
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com