I’m trying to integrate LinkedIn(sign-in with) in ionic using Oauth 2.0 as it described in this website. This is my code
linkedinLogin() {
this.platform.ready().then(() => {
this.linkedinPage().then(success => {
alert(success.access_token);
},(error) => {
alert(error);
});
});
}
linkedinPage(): Promise<any> {
return new Promise(function(resolve, reject) {
var browserRef = window.cordova.InAppBrowser.open("https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=xxxxxxxxx&redirect_uri=http://localhost/callback&state=xxxxx&scope=r_basicprofile");
browserRef.addEventListener("loadstart", (event) => {
if ((event.url).indexOf("http://localhost/callback") === 0) {
browserRef.removeEventListener("exit", (event) => {});
browserRef.close();
var responseParameters = ((event.url).split("#")[1]).split("&");
var parsedResponse = {};
for (var i = 0; i < responseParameters.length; i++) {
parsedResponse[responseParameters[i].split("=")[0]] = responseParameters[i].split("=")[1];
}
if (parsedResponse["access_token"] !== undefined && parsedResponse["access_token"] !== null) {
resolve(parsedResponse);
} else {
reject("Problem authenticating with linkedin");
}
}
});
browserRef.addEventListener("exit", function(event) {
reject("The linkedin sign in flow was canceled");
});
});
}
I’m able to redirect to LinkedIn login page. After allowing the permissions it is throwing the error(in the code) as The linkedin sign in flow was canceled
. How can I solve this problem? I want to display the details that I have received from the LinkedIn in the alert box.