我正在尝试使用javascript实现facebook accountkit。我按照https://developers.facebook.com/docs/accountkit/web/integrating上的文档进行操作。 AccountKit登录表单
Enter country code (e.g. +1):
<input type="text" id="country_code" />
Enter phone number without spaces (e.g. 444555666):
<input type="text" id="phone_num"/>
<button onclick="phone_btn_onclick();">Login via SMS</button>
Enter email address
<input type="text" id="email"/>
<button onclick="email_btn_onclick();">Login via Email</button>
以下是我的应用中的JavaScript代码
<script src="https://sdk.accountkit.com/en_US/sdk.js"></script>
<script>
// initialize Account Kit with CSRF protection
AccountKit_OnInteractive = function(){
AccountKit.init(
{
appId:'facebook_app_id',
state:"csrf",
version:"accountkit_version"
}
);
};
// login callback
function loginCallback(response) {
console.log(response);
if (response.status === "PARTIALLY_AUTHENTICATED") {
document.getElementById("code").value = response.code;
document.getElementById("csrf_nonce").value = response.state;
document.getElementById("my_form").submit();
}
else if (response.status === "NOT_AUTHENTICATED") {
// handle authentication failure
}
else if (response.status === "BAD_PARAMS") {
// handle bad parameters
}
}
// phone form submission handler
function phone_btn_onclick() {
var country_code = document.getElementById("country_code").value;
var ph_num = document.getElementById("phone_num").value;
AccountKit.login('PHONE',
{countryCode: country_code, phoneNumber: ph_num}, // will use default values if this is not specified
loginCallback);
}
// email form submission handler
function email_btn_onclick() {
var email_address = document.getElementById("email").value;
AccountKit.login('EMAIL', {emailAddress: email_address}, loginCallback);
}
</script>
为appId
,state
和version
设置所需的值后。我尝试填写表单,但我正在重定向到帐户工具包页面说
we are sorry, something went wrong, try again
我们非常感谢您在实施过程中提供的任何帮助。提前致谢
答案 0 :(得分:2)
问题已经解决。在Facebook开发者网站的帐户工具包页面上,我将server url
web login settings
指向所有域名,http://domain.com,http://www.domain.com,包括https
(如果有)。这解决了这个问题。谢谢大家。