我想使用linkedin javascript API作为登录我的网站的一种方式,因为它似乎比使用OAuth更加终端用户友好(即:更好地使用只有一个小弹出窗口登录链接)。
如何使用链接返回的信息将用户安全地登录到我自己的网站,以便不能伪造?或者我是否需要提供用户必须输入的额外密码?
答案 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插件可以无缝集成(只需要一点点努力) - 因此最终用户体验是“点击登录”