eStreamChat (.Net 用のオープンソース チャットルーム) に固有の質問があります。彼らのウェブサイトのドキュメントやオンラインの例はあまりないように思われるので、誰かがそれを助けることができれば素晴らしいでしょう. 問題は私のハッシュにあると思います。
これまでのところ、プロジェクトをダウンロードしてインポートし、仮想 IIS ディレクトリを設定して、自分のアプリケーションから使用できるようにしました。自分の Web ページの 1 つに、そのChatRoom.aspx
Web ページに移動するためのリンクを作成しました。私をそこに連れて行くリンクは、必要な形式です。
http://localhost:10833/eStreamChat/ChatRoom.aspx?id=lowens×tamp=130425080917&hash=eb9fa849033cbf7b967ba472efb46363903f96dc
ページが読み込まれ、チャットルームが表示されますが、次のエラー ポップアップが表示されます: ルームに参加できません! ハッシュが無効です!
これまでのところ、私はこのページの指示に従っています:
私が理解できなかった唯一の行はこれでした:web.configファイルから秘密鍵を設定できるので、誰かがweb.configで何をすべきかを説明できれば助かるかもしれません。
スローされているエラーはRemoteAuthUserProvider.cs
. コードは次のとおりです。
NameValueCollection hrefParams = HttpUtility.ParseQueryString(hrefUri.Query);
var calculatedHash = Miscellaneous.CalculateChatAuthHash(hrefParams["id"] ?? String.Empty,
hrefParams["target"] ?? String.Empty, hrefParams["timestamp"]);
if (hrefParams["hash"] != calculatedHash)
{
throw new SecurityException("Hash is invalid!");
}
デバッグ後:
hrefParams["hash"]
これは「eb9fa849033cbf7b967ba472efb46363903f96dc」です
calculatedHash
「5129cf1cf65350a387ce53a2b0d31c960f9d96d3」です
では、なぜそのハッシュは同じではないのでしょうか?
乾杯