件名に記載の通り、multipassAPIで取得したURLに遷移しようとすると、414エラーが出る場合があります。
下記のURLに遷移したあとに添付の画面が表示されており、xxxxx部分の長さによって発生しています。
https://〇〇.myshopify.com/account/login/multipass/xxxxxxxx
URLを生成する箇所のソースは下記のようになっています。
414が発生してしまう要因がわかりましたらご教示いただけますと幸いです。
また、プログラム以外で回避方法があれば教えていただきたいです。
const obj = {
// 顧客の基本情報
identifier: data.customerData.UID,
email: data.customerData.profile.email,
first_name: data.customerData.profile.firstName,
last_name: data.customerData.profile.lastName,
created_at: data.customerData.created,
updated_at: data.customerData.lastUpdated,
tag_string: tags,
// 連絡先情報
phone: data.customerData.data.tel,
// 住所情報
addresses: [
{
country: "Japan",
address1: data.customerData.data.address2,
address2: data.customerData.data.address3,
city: data.customerData.data.address1,
province: data.customerData.data.prefecture,
zip: data.customerData.data.zip,
phone: data.customerData.data.tel,
},
],
}
return "https://" + domain + "/account/login/multipass/" + this.encode(obj);
.
.
.
encode(obj) {
if (!obj) return;
obj["created_at"] = new Date().toISOString();
var cipherText = this.encrypt(JSON.stringify(obj));
var token = Buffer.concat([cipherText, this.sign(cipherText)]).toString('base64');
token = token.replace(/\+/g, '-') // Replace + with -
.replace(/\//g, '_'); // Replace / with _
return token
}
