Недавно у меня начались проблемы с моей функциональностью Signin With Linkedin.Я получаю следующую ошибку:
Uncaught TypeError: Cannot read property 'then' of undefined at Object.authorize (in.js:18)
У меня правильно определены URL-адреса перенаправления в настройках OAuth 2.0 моих приложений.
Мое приложение LinkedIn имеет следующие разрешенияперечисленные в нем:
- адрес_почты r
- w_share
- r_basicprofile
- r_liteprofile
- rw_company_admin
- w_member_social
Вот мой код:
<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();
});
Вот соответствующая функция из in.js LinkedIn:
authorize: function(t, n) {
return t = t ? t.bind(n || window) : function() {}
,
e().credentials.isAuthenticated ? (t(),
!0) : (e().authorize().then(t),
!1)
},
И это e ().authorize () в строке 5, которая не определена.
Я не уверен, связана ли эта проблема с обновлением API LinkedIn до 2.0 или есть какая-то проблема синхронности с обещанием, возвращаемым как часть функции авторизации,Действительно как потеря того, почему это началось и как это исправить.