duk*_*294 5 javascript linkedin-jsapi spring-social-linkedin linkedin-api
最近,我的“使用 Linkedin 登录”功能开始出现问题。我收到以下错误:
Uncaught TypeError: Cannot read property 'then' of undefined at Object.authorize (in.js:18)
我确实在应用程序的 OAuth 2.0 设置中正确定义了重定向 URL。
我的 LinkedIn 应用程序列出了以下权限:
这是我的代码:
<script type="application/javascript">
//This will be re-defined where it is needed
var linkedInAPILoaded = function(){};
</script>
<script type="text/javascript" src="https://platform.linkedin.com/in.js">
api_key: ${apiKey}
authorize: true
onLoad: linkedInAPILoaded
lang: en_US
</script>
<form name="li_signin" class="li_signin" action="<c:url value='/signin/linkedin'/>" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
<a id="linkedInIcon" href="javascript:;" aria-label="<spring:message code="oa.social.linkedin.login"/>">
<i class="glyphicon glyphicon-refresh gly-spin hidden"></i>
<img src="<c:url value='/images/In-2C-48px-R.png'/>" alt="<spring:message code='oa.social.linkedin.signin.link' />" />
</a>
</form>
<script type="text/javascript">
var linkedInIcon = $('#linkedInIcon');
function callbackFunction() {
$('#profileOverlay').addClass('hidden');
$('#loadingOverlay').removeClass('hidden');
linkedInIcon.blur();
linkedInIcon.find('.gly-spin').removeClass('hidden');
linkedInIcon.find('img').addClass('hidden');
linkedInIcon.closest('form').submit();
}
linkedInIcon.on('click', function() {
IN.User.authorize(callbackFunction, window);
callbackFunction();
});
Run Code Online (Sandbox Code Playgroud)
以下是 LinkedIn 的 in.js 中的相关函数:
authorize: function(t, n) {
return t = t ? t.bind(n || window) : function() {}
,
e().credentials.isAuthenticated ? (t(),
!0) : (e().authorize().then(t),
!1)
},
Run Code Online (Sandbox Code Playgroud)
第 5 行的 e().authorize() 是未定义的。
我不确定此问题是否与 LinkedIn 的 API 升级到 2.0 有关,或者作为授权函数的一部分返回的 Promise 是否存在同步问题。对于为什么会发生这种情况以及如何解决它真的很茫然。
我也遇到了这个问题,经过一段时间的搜索后,发现他们正在弃用整个 Javascript SDK。以下是来自此处的一些相关引用
身份验证、SDK 和插件:我们还弃用了一些过时或很少使用的产品和技术。
身份验证:我们将废除 OAuth 1.0,并要求所有开发人员使用 OAuth 2.0,我们自 2013 年以来一直支持 OAuth 2.0。OAuth 2.0 是行业标准,被大多数在我们平台上构建的人广泛使用。
SDK:我们的 JavaScript 和移动软件开发套件 (SDK) 将停止工作。开发人员需要直接从他们的应用程序迁移到使用 OAuth 2.0。
插件:一些用于生成可快速向网站添加增强的 LinkedIn 功能的插入代码的网站插件将不再可用。具体来说,会员资料、公司资料、公司内部人士、您可能感兴趣的工作 (JYMBII) 和校友工具插件都将被弃用。
遗憾的是,我们似乎没有可以使用的直接替代品
| 归档时间: |
|
| 查看次数: |
1907 次 |
| 最近记录: |