我正在尝试在我的“开发”商店中实施Shopify Multipass。我已启用Multiplass,并在“结帐”设置中设置了“需要帐户”。
通过API创建了一个新客户,并在查询该客户时得到以下结果:
{
"accepts_marketing": false,
"addresses": [],
"created_at": "2019-02-14T14:17:17-05:00",
"currency": "USD",
"default_address": null,
"email": "m1@yahoo.com",
"first_name": "M1",
"multipass_identifier": null,
"last_name": "M1",
"last_order_id": null,
"last_order_name": null,
"note": null,
"orders_count": 0,
"phone": null,
"state": "disabled",
"tags": "",
"tax_exempt": false,
"total_spent": 0,
"updated_at": "2019-02-14T14:17:17-05:00",
"verified_email": true,
"metafields": null,
"id": 892572631087
}
我运行生成令牌的过程(使用.net nuget)
https://github.com/uoc1691/ShopifyMultipassTokenGenerator/tree/master/ShopifyMultipassTokenGenerator
使用此输入:
string json = "{\"created_at\":\"2019-02-14T14:17:17-05:00\",\"email\":\"m1@yahoo.com\"}";
var url = pass.Process(json);
return Redirect(url);
这是生成的输出:
https://kitkatco.myshopify.com/account/login/multipass/A-8K9DQOTy_YFLqPv2UdB_iiubISltQy_bfASNtr8ylqsoz1uvx0JTPD06RdNUjX-26TCVp7NFjbjk1RNsYS20jH7YQNbzkikd6I613a3XLwU3XriMHRzEg8z4racDlzryst9PWmlS3_7pJbJN_dgVNHeadz3fz1z1L_e_JcyLo=
重定向后,我收到“无效的多次通过请求”
任何帮助将不胜感激。
谢谢
答案 0 :(得分:1)
Multipass登录适用于拥有单独网站和 Shopify商店。它将用户从网站重定向到Shopify 存储并使用相同的电子邮件地址无缝登录 用于注册原始网站。
因此,每当您使用有效的多通道URL重定向用户时,该用户都会登录,如果该用户不存在,则会先创建该用户,然后再登录。
multipass_identifier
在Shopify,我们使用电子邮件地址作为客户的唯一标识符 一家商店。如果您的网站使用其他标识符(例如用户名),或者 如果您网站的两个不同用户可能注册 使用相同的电子邮件地址,您必须在 “标识符”字段可避免安全问题。如果电子邮件地址是 始终是唯一的,您无需设置“标识符”字段。
因此,在普通帐户创建中,multipass_idenifier将为null,并且仅在通过multipass请求创建用户并且指定了 identifier 字段时才会填充。
created_at param is current timestamp (in ISO8601 encoding).
对于您上面提到的用例,如果您使用Shopify密码保护的商店功能,我认为它不会起作用。经过测试,它将您重定向到密码页面,并且相同的令牌无法再次使用。