我如何渲染 AccountKit UI
How can I render AccountKit UI
这是我的 login.php 页面上的表格:
<form id="LoginForm">
<input value="+1" id="country_code" />
<input placeholder="phone number" id="phone_number"/>
<button onclick="smsLogin();">Login via SMS</button>
</form>
<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:"{{ACCOUNT_KIT_API_VERSION}}",
fbAppEventsEnabled:true,
redirect:"{{REDIRECT_URL}}"
}
);
};
// login callback
function loginCallback(response) {
if (response.status === "PARTIALLY_AUTHENTICATED") {
var code = response.code;
var csrf = response.state;
// Send code to server to exchange for access token
}
else if (response.status === "NOT_AUTHENTICATED") {
// handle authentication failure
}
else if (response.status === "BAD_PARAMS") {
// handle bad parameters
}
}
// phone form submission handler
function smsLogin() {
var countryCode = document.getElementById("country_code").value;
var phoneNumber = document.getElementById("phone_number").value;
AccountKit.login(
'PHONE',
{countryCode: countryCode, phoneNumber: phoneNumber}, // will use default values if not specified
loginCallback
);
}
// email form submission handler
function emailLogin() {
var emailAddress = document.getElementById("email").value;
AccountKit.login(
'EMAIL',
{emailAddress: emailAddress},
loginCallback
);
}
</script>
这是发送代码的预期界面:
我遇到的问题是在 AccountKIt UI 呈现之前,用户必须单击“通过短信登录”按钮...我觉得这并不有趣,我希望用户继续 login.php页面 AccountKit UI 应该自动呈现而不显示我的表单。
我试图删除表单并修改函数 smsLogin() 以立即调用如下:
function {
var countryCode = document.getElementById("country_code").value;
var phoneNumber = document.getElementById("phone_number").value;
AccountKit.login(
'PHONE',
{countryCode: countryCode, phoneNumber: phoneNumber}, // will use default values if not specified
loginCallback
);
}();
但我收到错误消息:
TypeError: AccountKit.login is not a function
我需要一些技巧来了解如何实现我想做的事情。
当用户访问我的登录 page.The link accountkit 时,我直接在 accountkit 页面上重定向用户:https://www.accountkit.com/v1.0/basic/dialog/sms_login/ 并且有参数我正在传递电话号码,country_code,重定向 url(这是我的页面,用户将被发送到该页面)。所以一切都如我所愿。
这是我的 login.php 页面上的表格:
<form id="LoginForm">
<input value="+1" id="country_code" />
<input placeholder="phone number" id="phone_number"/>
<button onclick="smsLogin();">Login via SMS</button>
</form>
<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:"{{ACCOUNT_KIT_API_VERSION}}",
fbAppEventsEnabled:true,
redirect:"{{REDIRECT_URL}}"
}
);
};
// login callback
function loginCallback(response) {
if (response.status === "PARTIALLY_AUTHENTICATED") {
var code = response.code;
var csrf = response.state;
// Send code to server to exchange for access token
}
else if (response.status === "NOT_AUTHENTICATED") {
// handle authentication failure
}
else if (response.status === "BAD_PARAMS") {
// handle bad parameters
}
}
// phone form submission handler
function smsLogin() {
var countryCode = document.getElementById("country_code").value;
var phoneNumber = document.getElementById("phone_number").value;
AccountKit.login(
'PHONE',
{countryCode: countryCode, phoneNumber: phoneNumber}, // will use default values if not specified
loginCallback
);
}
// email form submission handler
function emailLogin() {
var emailAddress = document.getElementById("email").value;
AccountKit.login(
'EMAIL',
{emailAddress: emailAddress},
loginCallback
);
}
</script>
这是发送代码的预期界面:
我遇到的问题是在 AccountKIt UI 呈现之前,用户必须单击“通过短信登录”按钮...我觉得这并不有趣,我希望用户继续 login.php页面 AccountKit UI 应该自动呈现而不显示我的表单。
我试图删除表单并修改函数 smsLogin() 以立即调用如下:
function {
var countryCode = document.getElementById("country_code").value;
var phoneNumber = document.getElementById("phone_number").value;
AccountKit.login(
'PHONE',
{countryCode: countryCode, phoneNumber: phoneNumber}, // will use default values if not specified
loginCallback
);
}();
但我收到错误消息:
TypeError: AccountKit.login is not a function
我需要一些技巧来了解如何实现我想做的事情。
当用户访问我的登录 page.The link accountkit 时,我直接在 accountkit 页面上重定向用户:https://www.accountkit.com/v1.0/basic/dialog/sms_login/ 并且有参数我正在传递电话号码,country_code,重定向 url(这是我的页面,用户将被发送到该页面)。所以一切都如我所愿。