CK Editor - запретить диалог авторизации на изображении - PullRequest
0 голосов
/ 05 марта 2020

Я использую CK Editor для текстовых полей Rick - пользователь загружает изображение в мой продукт ECM (оно встроено в другой раздел моего приложения, и пользователь автоматически проходит аутентификацию с помощью OAuth2 и получает токен, который я храню в cook ie для этого сеанса. Затем они могут взять ссылку на это изображение и встроить ее, используя опцию панели инструментов изображения CK Editor. Это работает нормально, и изображение отображается должным образом.

Однако проблема в том, закрывают ли они браузер и вернитесь на следующий день - они повторно аутентифицируются в ECM и будет выдан новый токен доступа - это приведет к 401, если они попытаются просмотреть текстовое поле Рика, в которое вставлено изображение.

Я поставил следующий код, в котором почти работает:

 CKEDITOR.replace(this.id, {
            on: {
                instanceCreated: function () {
                    alert('instanceCreated');
                },
                instanceLoaded: function () {
                    alert('instanceLoaded');
                },
                instanceReady: function () {
                    alert('instanceReady');
                    var editor = this.document.$;
                    var noOfImages = editor.images.length;

                    if (noOfImages > 0) {

                        debugger;
                        for (var i = 0; i < noOfImages; i++) {                            
                            var imageSrc = editor.images[i].src;
                            var imageId = getImageId(imageSrc, 'Id');
                            var currentToken = getCurrentToken();
                            var newUrl = getUpdatedImageUrl(currentToken, imageId);
                            editor.images[i].src = newUrl;
                        }
                    } 
                    //further code removed for brevity

Теперь изображение отображается, как и ожидалось - однако я получаю всплывающее окно Auth, которое автоматически исчезает, когда я устанавливаю img sr c с помощью обновленный URL - я вижу в инструментах разработчика сети - запрос инициируется на старый URL с истекшим токен доступа - но затем он «отменяется»

Так что единственное, что мне нужно попытаться выяснить, - это как предотвратить появление диалогового окна до того, как я исправлю img sr c - вы увидите В приведенном выше коде я попытался подключиться к функциям instanceCreated и instanceLoaded в надежде, что они сработают до instanceReady, но когда я запускаю код, единственное предупреждение, которое вызывается - instanceReady.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...