我已关注this博客并使用forcejs插件在我的离子混合应用中进行salesforce身份验证。我能够登录并在弹出URL中(重定向到回调后)我可以看到访问令牌。但是当popup来回调用url时它不会自动关闭,而且我的回调函数也没有被调用。而且我无法使用身份验证结果。
let appId = 'consumer_key';
let loginURL = 'https://login.salesforce.com/';
let oauthCallbackURL = 'http://localhost:8100/callback';
let oauth = OAuth.createInstance(appId, loginURL, oauthCallbackURL);
console.log('=============oauth: ', oauth)
oauth.login().then(oauthResult => {
//can not get here after authentication
DataService.createInstance(oauthResult);
console.log("Logged Into Salesforce Successfully");
});
答案 0 :(得分:1)
使用http://localhost:8100/oauthcallback.html作为回调
并根据您的应用程序的根目录创建oauthcallback.html
<html>
<body>
<script>
var event = new CustomEvent("oauthCallback", {'detail':
window.location.href});
window.opener.document.dispatchEvent(event);
window.close();
</script>
</body>