我正在尝试编写一个php应用程序,当用户登录我的网站时将用户签入BigCommerce。我无法在登录或SSO的API文档中看到任何内容。有人有指向这个文档的指针吗?
答案 0 :(得分:1)
好吧,我已经尝试过试用这个问题,我找到的唯一方法就是使用隐藏的iframe和简单的javascript。这对我有用,参见示例:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<title>Login BC</title>
<style type="text/css">
input[type="text"],input[type="password"],input[type="submit"],button{
display: block;
padding:4px 6px;
margin: 12px 8px;
border: 1px solid #eee;
}
input[type="text"],input[type="password"]{
width:200px;
}
input[type="submit"],button{
cursor:pointer;
}
#ifr{
display: none;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var redirect={
data:{
url:'http://yourstore.mybigcommerce.com/login.php?action=check_login',
redirect:'http://yourstore.mybigcommerce.com/account.php?action=account_details',
login:'customerlogin',
pass:'customerpassword'},
form:function(){
var f='<form method="post" id="bc" action="'+redirect.data.url+'">'+
'<input type="text" name="login_email" value="'+redirect.data.login+'"/>'+
'<input type="password" name="login_pass" value="'+redirect.data.pass+'" />'+
'<input type="submit" value="Login" />'+
'</form>';
$('iframe#ifr').contents().find('html > body').html(f);
$('#ifr').contents().find('form#bc').submit();
},
events:function(){
$('#send').on('click',function(){
redirect.form();
setTimeout(function(){
$('section').append('<button id="goto">Go To Bigcommerce</button>');
},1500);
});
$(document).on('click','#goto',function(){
window.location = redirect.data.redirect;
});
}
};
redirect.events();
})
</script>
</head>
<body>
<div class="content">
<section>
<button id="send">Auto Login</button>
</section>
</div>
<iframe id="ifr"></iframe>
</body>
</html>
答案 1 :(得分:0)
任何仍希望做类似事情的人现在可以查看基于JWT的客户登录API(https://developer.bigcommerce.com/api/v2/#customer-login-api)。
结合API的客户读写端点,它应该允许外部应用程序从外部应用程序创建和登录客户。