我在我的网站上使用LinkedIn Javascript SDK,以允许用户通过Linked In注册和登录。
我希望在不将用户重定向到Linked In的情况下实现此目的,而是通过弹出窗口实现。
问题是,我不确定如何安全地获取访问令牌,然后我可以使用它来获取用户个人资料并创建帐户。
目前,通过Javascript SDK,我可以在不重定向的情况下登录用户,并收到oauth_token
,然后由后端发布。我的这是我的代码:
IN.User.authorize(function(){
$.ajax({
type: 'POST',
url: '/auth/li/'+IN.ENV.auth.oauth_token,
});
});
这次成功将令牌发送到我的服务器,但是如何使用它来获取访问令牌以便在后端使用?
我尝试使用带有
的LinkedIn API将其简单地转换为一个 https://www.linkedin.com/oauth/v2/accessToken
但是我收到了错误
Unable to retrieve access token: appid/redirect uri/code verifier does not match authorization code. Or authorization code expired.
我理解错误,因为javascript SDK没有重定向URI。
使用Facebook SDK / API,通过Javascript API成功授权后,会存储使用我的应用秘密加密的cookie,我的后端可以解密并读取它,然后最终创建一个帐户。
在LinkedIn中是否存在我错过的内容?
答案 0 :(得分:0)
我有同样的问题,谷歌和Facebook SDK我可以获得access_token,但是SDK SDK auth_token无效。我认为我们需要access_token但不知道如何通过linkedin SDK获得它。
答案 1 :(得分:0)
我想出了一个解决方案。我最终没有使用javascript API。我所做的是在我的服务器上生成登录URL并通过AJAX检索它。然后我创建了一个javascript弹出窗口,并将其对准登录URL。一个用户进行身份验证,linkedin重定向到弹出窗口中我选择的重定向URL,然后我可以在我身边进行身份验证(并关闭弹出窗口)。