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で実装された顔検出方法

ブログ    
ブログ    

推薦する

英国のサイバーセキュリティ機関がAIにおける大規模言語モデルのリスクを警告

英国の国家サイバーセキュリティセンター(NCSC)は、AIを活用した大規模言語モデル(LLM)を企業...

...

アプリケーション開発コンサルティングは、企業が人工知能を最大限に活用できるよう支援します

適切なコンサルタント チームが、優れたアプリケーションを選択して AI のメリットを発見できるようお...

人工知能が普及せず、自動運転に支障?

今回の世界経済サイクルが底を打つにつれ、過去2年間の多くのホットスポットが「衰退」し、「閉鎖」し始め...

...

...

賈陽青の新たな起業:AIGCプロンプトツールのリリース、SDXLを詳細にプレイするのに役立ついくつかの言葉

プロンプトの単語の書き方がわからなくても問題ありません。AIがお手伝いします。 PromptLLM ...

人工知能:人種差別との戦いにおける次のフロンティア?

[[350644]]ジョージ・フロイドの悲劇的な殺害が世界に衝撃を与えてから、まだ3か月しか経って...

清華大学は顔認識技術に脆弱性を発見、セキュリティ問題を真剣に受け止める必要がある

このテストでは合計20台の携帯電話が選ばれ、そのうち1台は海外製、残りの19台は国内トップ5の携帯電...

...

AI製品化の鍵はアルゴリズムではなくインフラとデータ

[[187402]]人工知能は現在、魔法のような大流行を経験しています。データは、数字の羅列としてニ...

AIは、群衆の中でディープフェイクされたのはあなただけだと認識します

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

3D AI が新しい遊び方を生み出します。何時間もかかる代わりに、1 枚の写真からわずか 45 秒で 3D モデルを生成できます。

3D AI生成は近年急速に発展しており、最新の作品の多くは文章・画像から高品質な3Dモデルを生成で...

GoogleはAIを使って「ヘッドフォンケーブル」をトレーニングし、タッチスクリーンのほとんどの機能を実現

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...