如何使用Linkedin Javascript API作为我自己网站的登录?

时间:2012-04-29 15:47:06

标签: javascript authentication linkedin

我想使用linkedin javascript API作为登录我的网站的一种方式,因为它似乎比使用OAuth更加终端用户友好(即:更好地使用只有一个小弹出窗口登录链接)。

如何使用链接返回的信息将用户安全地登录到我自己的网站,以便不能伪造?或者我是否需要提供用户必须输入的额外密码?

2 个答案:

答案 0 :(得分:15)

代码由两个<script>标记组成。第一个包含对LinkedIn库的引用和API密钥的声明。

<script type="text/javascript" src="//platform.linkedin.com/in.js">
    api_key: <LinkedIn API Key>
</script>

第二个标签具有所需的功能。当用户单击Login with LinkedIn按钮时,将调用liLogin()函数。在那里,您可以定义应用程序所需的数据范围。

getProfileData()函数在身份验证后调用,并进行第二次调用以获取请求的数据。如您所见,您在响应中声明了所需的数据。

<script>
    var liLogin = function() { // Setup an event listener to make an API call once auth is complete
        IN.UI.Authorize().params({"scope":["r_basicprofile", "r_emailaddress"]}).place();
        IN.Event.on(IN, 'auth', getProfileData);
    }

    var getProfileData = function() { // Use the API call wrapper to request the member's basic profile data
        IN.API.Profile("me").fields("id,firstName,lastName,email-address,picture-urls::(original),public-profile-url,location:(name)").result(function (me) {
            var profile = me.values[0];
            var id = profile.id;
            var firstName = profile.firstName;
            var lastName = profile.lastName;
            var emailAddress = profile.emailAddress;
            var pictureUrl = profile.pictureUrls.values[0];
            var profileUrl = profile.publicProfileUrl;
            var country = profile.location.name;
        });
    }
</script>

要获取LinkedIn API密钥,请转到LinkedIn Developers。转到“我的应用程序”,然后单击“创建应用程序”。

答案 1 :(得分:1)

从马口:https://developer.linkedin.com/documents/sign-linkedin 概述:http://thinlight.org/2011/08/07/using-facebook-and-other-sites-as-user-authentication-system/

我不是积极的,但我认为你对Oauth的含义感到困惑。有各种各样的CMS /语言的Oauth插件可以无缝集成(只需要一点点努力) - 因此最终用户体验是“点击登录”