ウェブサイトのエンドポイントにアクセスしようとしています(lighterpack.com、github:https://github.com/galenmaly/lighterpack)。これを行うための私の能力をテストするために、私はedit.js(下)の 'signin'関数にPOST呼び出しをしようとしています。サインインのリクエストには何が欠けていますか?
私はそれをオブジェクトの送信、POSTリクエストを送信するために郵便配達を使用しています、私は私のローカルマシン上で今手動でオブジェクトをハッシュし、それをコピーしてい
{ユーザー名:myhashedpasswordandusername:myusernameと指定、パスワードを}郵便配達員に。 "crypto-js"依存関係を持つJSファイルを作成し、var CryptoJS = require( 'crypto-js')を設定した後、edit.jsファイルが使用するコマンドを実行しました。
これは私が台無しにした部分かもしれませんが、どこに見えません。 I
私のハッシュファイルのコード:
var crypto = require('crypto-js')
var pass = "mypassword"
var name = "username"
var hash = crypto.SHA3(pass+name)
var hash= hash.toString(crypto.enc.Base64)
console.log(hash)
私は、コンソールがログアウト何を取る、と私のパスワードとして私のポストマンのオブジェクトにそれを置きます。私が気付かないことは、edit.jsファイルでCryptoJSがどこにでも定義されているとは見えず、とにかく見ることができないということです。誰かが私を正しい方向に向けることができますか?
オリジナルedit.js機能:
$(".signin").on("submit", function(evt) {
evt.preventDefault();
var form = this;
var error = "";
var username = $(".username", this).val();
var password = $(".password", this).val();
if (!password) error = "Please enter a password.";
if (!username) error = "Please enter a username.";
if (error) {
$(".lpError", this).text(error).show();
return;
}
$(".lpError", this).text("").hide();
username = username.toLowerCase();
var hash = CryptoJS.SHA3(password+username);
hash = hash.toString(CryptoJS.enc.Base64);
$.ajax({
url: "/signin",
data: {username: username, password: hash, },
method: "POST",
error: function(data, textStatus, jqXHR) {
var error = "An error occurred.";
if (data.responseText) error = data.responseText;
$(".password", form).val("").focus();
$(".lpError", form).text(error).show();
},
success: function(data) {
$("#signin, #lpModalOverlay").fadeOut("slow", removeBlackout);
$(".password, .username", form).val("");
signedIn(data.username);
library.load(JSON.parse(data.library));
initWithLibrary();
}
});
});
ハッシュ後のajax呼び出しデータに余分なカンマがあります。それを取り出してください。 – Daniel
申し訳ありませんが、明確ではありませんでした。 ajax呼び出しを持つedit.jsコードは私のコードではなく、ウェブサイトです。このコードは、Webサイトのログインフォームからのアクションです。 – Joe