UserSig の生成
UserSigは、ユーザーがIMにログインするためのパスワードです。その本質は、UserIDおよびその他の情報を暗号化して得られる暗号文です。この文書では、UserSigを生成する方法について説明します。
キーの取得
説明:
2. 対象のアプリケーションカードをクリックし、アプリケーションの基本設定画面に移動します。
3. 基本情報セクションで、キーの右側にあるキーを表示をクリックします。
4. コピーをクリックすると、キー情報をコピーして保存できます。
!キー情報を適切に保管して、漏えいしないようにしてください。
クライアントによるUserSigの計算
IM SDKサンプルコードで提供されている
GenerateTestUserSig
のオープンソースモジュールを使用すると、UserSigをすばやく生成できます。SDKAPPID(アプリケーションのSDKAppID)、EXPIRETIME(UserSigの有効期限)、SECRETKEY(キー情報)の3つのメンバー変数の値を設定し、genTestUserSig()関数を呼び出すだけでUserSigをすばやく取得できます。
実装プロセスを簡素化するために、以下の言語またはプラットフォームでUserSig計算のソースコードを提供しています。直接ダウンロードしてクライアントで統合することができます。プログラミング言語 | 所属プラットフォーム | GenerateTestUserSigソースコード |
Java | Android | |
Objective-C | iOS | |
Objective-C | Mac | |
C++ | Windows | |
Javascript | Web | |
Dart | Flutter |
ご注意:
この方法に使用されているSECRETKEYは簡単に逆コンパイルして逆ハッキングされる恐れがあります。キーが漏えいしてしまうと、攻撃者がTencent Cloudトラフィックを盗用する可能性があります。そのため、この方法は、ローカルで実行するDemoと機能のデバッグにのみ適用されます。
UserSigを正しく発行するには、UserSigの計算コードをサーバーで統合して、アプリ向けのインターフェースに提供します。UserSigが必要な場合は、アプリから業務サーバーにリクエストを送信し、ワンタイムUserSigを取得します。詳細についてはサーバーでのUserSig生成をご参照ください。
サーバーによるUserSigの計算
サーバーを使用してUserSigを計算することで、UserSigの計算に使用されるキー情報が漏えいしないようにすることを最大限に確保できます。サーバーで計算コードをデプロイして、アプリ向けのサーバーインターフェースに提供します。UserSigが必要な場合、アプリは業務サーバーにリクエストを送信して、ワンタイムUserSigを取得します。
実装プロセスを簡素化するために、以下の言語またはプラットフォームでUserSig計算のソースコードを提供しています。直接ダウンロードしてサーバーで統合することができます。
UserSigの計算関数には、主にSDKAppID、UserID、およびUserSigの有効期限などの主要なパラメータが含まれます。主要なパラメータの詳細について、下表をご参照ください。
説明:
下表のフィールド名は、例としてJava言語のソースコードを使用しています。他の言語の場合は若干異なりますので、実際のフィールド名に準じてください。
フィールド名の例 | パラメータの説明 |
sdkappid | |
userId | ユーザー ID。旧称:Identifier。 |
expire | UserSigの有効期限。単位は秒です。 |
userbuf | IMでは、デフォルトでUserBufのないインターフェースが使用されます。つまり、このパラメータはデフォルトで null として入力されます。ルームに入るときなど、Tencent Real-Time Communicationのユースケースによっては、UserBufがあるインターフェースを使用する必要がある場合があります。詳細については、ルームアクセス権限の保護をご参照ください。 |
key |
旧バージョンのアルゴリズム
署名計算の複雑度を低減し、お客様がよりTencent Cloudサービスを迅速に利用できるようにするため、IMサービスでは、2019年7月19日より新しい署名アルゴリズムの使用を開始しました。以前のECDSA-SHA256をHMAC-SHA256にアップグレードし、2019年7月19日以降に作成したすべてのSDKAppIDには新しいHMAC-SHA256のアルゴリズムが採用されています。
SDKAppIDが2019年7月19日より前に作成された場合は、HMAC-SHA256アルゴリズムにアップグレードすることをお勧めします。アップグレードプロセスは本番環境でのサービスに影響しません。また、旧バージョンの署名アルゴリズムを引き続き使用することもできます。ECDSA-SHA256アルゴリズムのソースコードのダウンロードリンクは次のとおりです: