WeChat JS-SDK-使用許可署名アルゴリズム

WeChat JS-SDK-使用許可署名アルゴリズム

jsapi_チケット

署名を生成する前に、まず jsapi_ticket を理解する必要があります。jsapi_ticket は、公式アカウントが WeChat JS インターフェースを呼び出すために使用する一時的なチケットです。通常、 jsapi_ticket の有効期間は 7200 秒で、access_token を通じて取得されます。 jsapi_ticket を取得するための API 呼び出しの数は非常に限られているため、jsapi_ticket を頻繁に更新すると API 呼び出しが制限され、ビジネスに影響を及ぼします。開発者は、独自のサービスで jsapi_ticket をグローバルにキャッシュする必要があります

access_token を取得するには、次のドキュメントを参照してください (有効期間は 7200 秒です。開発者は access_token を独自のサービスでグローバルにキャッシュする必要があります)。../15/54ce45d8d30b6bf6758f68d2e95bc627.html

最初の手順で取得した access_token を使用して、http GET メソッドで jsapi_ticket を取得します (有効期間は 7200 秒です。開発者は jsapi_ticket を独自のサービスにグローバルにキャッシュする必要があります)。https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

次の JSON が正常に返されます。

{
"エラーコード":0,
"エラー":"OK",
「チケット」:"bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA",
"有効期限":7200
}

jsapi_ticket を取得したら、JS-SDK 権限検証用の署名を生成できます。

署名アルゴリズム

署名生成ルールは次のとおりです。署名に関係するフィールドには、noncestr (ランダム文字列)、有効な jsapi_ticket、timestamp (タイムスタンプ)、url (現在の Web ページの URL、 # とその後の部分を除いたもの) が含まれます。署名するすべてのパラメータを、フィールド名の ASCII コードに従って小さい順から大きい順に並べ替えた後 (辞書式順序)、URL キーと値のペアの形式 (key1=value1&key2=value2…) を使用して文字列 1 に連結します。すべてのパラメータ名は小文字であることに注意してください。 string1をsha1で暗号化します。フィールド名とフィールド値にはURLエスケープせずに元の値を使用します。


つまり、署名=sha1(文字列1)です。 例:

非先祖=Wm3WZYTPz0wzccnW

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg

タイムスタンプ=1414587457

url=http://mp.weixin.qq.com?params=値


ステップ 1. 署名するすべてのパラメータを、フィールド名の ASCII コードで小さい順から大きい順 (辞書順) に並べ替え、URL キーと値のペアの形式 (key1=value1&key2=value2…) を使用して文字列 1 に連結します。

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value


ステップ 2. sha1 を使用して string1 に署名し、署名を取得します。

0f9de62fce790f9a083d5c99e95740ceb90c27ed

予防

署名に使用される noncestr と timestamp は、wx.config の noncestr と timestamp と同じである必要があります。

署名に使用する URL は、JS インターフェースを呼び出すページの完全な URL である必要があります。

セキュリティ上の理由から、開発者はサーバー側で署名ロジックを実装する必要があります

<<:  Jenkins 独自のユーザー データベース暗号化アルゴリズムの簡単な分析

>>:  顔認識に興味がありますか? JavaScriptで実装された顔検出方法

ブログ    
ブログ    

推薦する

強力な暗号化アルゴリズムによる SQL インジェクション事例

暗号化には、情報の機密性などさまざまな利点があります。ただし、アプリケーションのセキュリティを確保す...

「説明可能な」AIが金融セクターへの信頼を高める

[[423755]]人工知能は、詐欺の特定や金融犯罪の撲滅から、顧客への革新的なデジタル体験の提供に...

機械学習の成功事例5つ

IT リーダーが、人工知能と機械学習を使用してビジネス上の洞察を得る方法を共有します。組織が顧客の好...

自然言語処理のためのニューラルネットワークモデルに関する予備的研究

ディープラーニング技術は、自然言語処理 (NLP) の分野に大きな影響を与えます。しかし、初心者の場...

機械学習が詐欺防止に優れたツールである理由は何ですか?

現代技術の発展と向上により、生活はますます快適になりました。以前は複雑な操作を同時に実行することは不...

機械学習の問題を解決する一般的な方法があります!この記事を1つだけ読んでみてください!

[[205485]]アビシェーク・タクル編集者: Cathy、Huang Wenchang、Jia...

生体認証ウェアラブルでCOVID-19の発生を予測できると研究で判明

米国の研究チームは最近、ウェアラブルデバイスから得られる生体認証データを分析することで、一見健康そう...

...

Photoshop の新しい AI 機能により、数回クリックするだけで空を置き換えることができます

海外メディアの報道によると、 AdobeはPhotoshopにAIを搭載した空の置き換えツールを追加...

...

...

コンピュータビジョンによる3D再構成 - 自動運転に焦点を当てる

最近、私は何かに没頭しています。没頭するというのは、諦めるということではなく、むしろ醸成していくプロ...

GoogleはAIチップに出産を学習させ、次世代のTPUはAI自身によって設計される

[[405016]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

多様な用途に焦点を当て、ドローンマッピングはますます熱を帯びている

農作物の保護から電力検査、映画やテレビの撮影から消防救助、緊急通信から交通検査まで、ドローンの活用が...