linkedin 第三方网站登录(JavaScript SDK)

官网:https://developer.linkedin.com/docs/oauth2

一、配置LinkedIn应用程序

 a.创建一个应用  |  https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fdeveloper%2Fapps%3Fnewapp%3D

 b.应用的基本配置

   1)、JavaScript 配置如下图 (输入有效的网址,一般是首页的,点击add添加)

      

      如果你的控制台报下面这个错误,就是这里没有配置好

      javascript控制台错误

  Error: You must specify a valid JavaScript API Domain as part of this key's configuration. (你必须注册一个有效的javascript域

2)、Authentication 配置如下图 (输入当前页面的url,点击add)



二、初始化SDK
详情:https://developer.linkedin.com/docs/signin-with-linkedin

官网上面写的是必须将下面的代码放置在<head></head>里面,而我放在dom元素下面也生效了
注:下面的代码必须严格按照格式写,
1.换行
2.不能有注释
3.如果控制台报错误
Error: You must specify a valid JavaScript API Domain as part of this key's configuration.就是页面初始化sdk错误,一定是下面的代码书写有误

       <script type="text/javascript" src="//platform.linkedin.com/in.js">
           api_key:配置client id
           authorize: true
           lang: en_US
        </script>

三、自定义登录按钮 

参考  https://blog.csdn.net/zh_rey/article/details/78871365#commentsedit

<a id="link"></a>

<script>
// 处理来自API调用的成功返回
function onSuccess(data) {

//获取数据之后填充到对应的input上
   document.getElementById("firstName").value=data.values[0].firstName;
   document.getElementById("lastName").value=data.values[0].lastName;
   if(!data.values[0].emailAddress){
       document.getElementById("email").value='';
   }else{
      document.getElementById("email").value=data.values[0].emailAddress;
  }
}

// 处理来自API调用的错误返回
function onError(error) {
    console.log(error);
}

// 自定义登录监听事件
document.getElementById("link").onclick=function(){
      IN.User.authorize(getProfileData,{'r_emailaddress':'email-address'});
      return false;
}

function getProfileData(data){
      IN.API.Profile("me").fields("first-name", "last-name", "email-address").result(onSuccess).error(onError);
}

</script>

四、注销

<button type="button" onclick="lingOut()">领英注销</button>

function lingOut(){

  IN.User.logout(out); 

}

原文地址:https://www.cnblogs.com/zousaili/p/9406369.html