我在我的网站上使用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成功授权,存储使用我的app secret加密的cookie,我的后端可以解密并读取它,然后最终创建一个帐户。
我错过了在LinkedIn中有类似的东西吗?
我有同样的问题,谷歌和Facebook SDK我可以获得access_token但是SDK SDK auth_token不起作用。我认为我们需要access_token,但不知道如何使用linkedin SDK。
我想出了一个解决方案。我最终没有使用javascript API。我所做的是在我的服务器上生成登录URL并通过AJAX检索它。然后我创建了一个javascript弹出窗口,并将其对准登录URL。一个用户进行身份验证,linkedin重定向到弹出窗口中我选择的重定向URL,然后我可以在我身边进行身份验证(并关闭弹出窗口)。