как получить доступ к другому приложению с помощью обычной аутентификации - PullRequest
1 голос
/ 03 июня 2019

У меня есть приложение Rails, и когда мы нажимаем на ссылку в моем приложении, я хочу открыть новую вкладку и загрузить другое приложение с помощью обычной аутентификации через JQuery и AJAX. Новое приложение доступно на другом сервере.

Мой файл Gem выглядит следующим образом.

source 'https://rubygems.org'

ruby "2.3.3"

gem 'couchrest', '~> 1.2', '>= 1.2.1'
gem 'jquery-rails', '~> 4.0.5'
gem 'jquery-ui-rails', '~> 5.0.5'
gem 'bootstrap-sass'
gem 'sass-rails', '~> 5.0.6'
gem 'sprockets', '~> 3.6.3'
gem 'puma', '~> 3.4'
gem 'rails', '4.2.4'
gem 'couchrest_model', '~> 2.0.4'
gem 'tzinfo-data', '~> 1.2016.6', platforms: [:mingw, :mswin, :x64_mingw]
gem 'uglifier', '>= 1.3.0'
gem 'newrelic_rpm'
gem 'rake', '< 11.0'
gem 'pg', '~> 0.19.0'
#gem 'pg', '~> 0.18.4'
gem 'sendgrid-ruby', '~> 0.0.3'
gem 'twilio-ruby', '~> 4.2.1'
gem 'sassc'
gem 'open_uri_redirections'

group :development, :test, :ci do
gem 'byebug', '~> 8.2.1'
gem 'dotenv-rails', '~> 2.0.2'
gem 'rspec-rails', '~> 3.3.2'
gem 'timecop', '~> 0.8.0'
end

group :development do
gem 'web-console', '~> 2.0'
gem 'spring', '~> 1.5.0'
end

group :production do
  gem 'rails_12factor', '~> 0.0.3'
end

мой фрагмент файла JavaScript ..

$.ajax
    ({
          type: "POST",
          url: "external_URL",
          beforeSend : function(req) {
                req.setRequestHeader('Authorization', 'Basic ' +             
  Base64.encode(unm + ':' + pwd));
          },
          success: function (){
            alert('Thanks for your comment!'); 
          },
          error: function (jqXhr, textStatus, errorThrown){
          debugger
            alert('error!'); 
          }
    });

Я получаю сообщение об ошибке следующим образом:

Доступ к XMLHttpRequest в 'external_URL' из источника 'null' был заблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: Перенаправление не разрешено для запроса предварительной проверки.

Я протестировал то же самое, включив / отключив плагин CORS.

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