Почему Hotmail oauth2 продолжает отказывать из-за «неавторизованного» вместо того, чтобы позволить мне войти в систему и дать разрешение на чтение контактов? - PullRequest
0 голосов
/ 05 января 2019

Я использую ruby ​​версии 2.2.10p489 и Rails версии 5.1.6. Я пытаюсь использовать камень omnicontacts для импорта контактов Hotmail в мое приложение с помощью потока oauth2.

Я следовал инструкциям, перечисленным в https://github.com/Diego81/omnicontacts.

Ниже приведен мой config/initializers/omnicontacts.rb файл конфигурации:

require "omnicontacts"

Rails.application.middleware.use OmniContacts::Builder do
    importer :hotmail, ENV['MICROSOFT_APP_ID'],  ENV['MICROSOFT_APP_SECRET'], {:redirect_path => "/contacts/import/hotmail_or_other/"}
end

Когда я посещаю https://6663cb10.ngrok.io/contacts/hotmail в соответствии с инструкциями Диего на странице omnicontacts, меня не перенаправляют на страницу входа в Microsoft. Вместо этого я автоматически отправляюсь на действие show контроллера Contacts со следующими параметрами:

{"error_message"=>"not_authorized", "importer"=>"hotmail", "id"=>"failure"}

Если я введу URL-адрес oauth2

 https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=*CLIENT ID HERE*&response_type=id_token&redirect_uri=https%3A%2F%2F6663cb10.ngrok.io%2Fcontacts%2Fimport%2Fhotmail_or_other%2F&scope=openid&response_mode=fragment&state=12345&nonce=678910

прямо в мой веб-браузер, я могу ввести свой адрес электронной почты, но когда я нажимаю «Далее», я снова автоматически отправляется на действие show контроллера Contacts со следующими параметрами:

{"error_message"=>"not_authorized", "importer"=>"hotmail", "id"=>"failure"}

Ниже приведена конфигурация моего приложения Microsoft,

URL перенаправления: https://6663cb10.ngrok.io/contacts/import/hotmail_or_other/

URL выхода из системы: https://6663cb10.ngrok.io/logout

Делегированные разрешения: Contacts.Read, User.Read

URL домашней страницы: https://6663cb10.ngrok.io/login

Я также заметил следующее в консоли, но не уверен, как решить эту проблему или действительно ли это актуально:

app/controllers/contacts_controller.rb:43:in `show'
Started HEAD "/contacts/hotmail" for 163.172.103.81 at 2019-01-05 15:00:03 -0500
Cannot render console from 163.172.103.81! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Started HEAD "/contacts/hotmail" for 2a02:4780:1:3::15 at 2019-01-05 15:00:56 -0500
Cannot render console from 2a02:4780:1:3::15! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Started HEAD "/contacts/hotmail" for 51.15.164.30 at 2019-01-05 15:01:02 -0500
Cannot render console from 51.15.164.30! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Started HEAD "/contacts/hotmail" for 51.15.164.31 at 2019-01-05 15:04:03 -0500
Cannot render console from 51.15.164.31! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255

Вот мой файл config / rout.rb:

Rails.application.routes.draw do

  mount Ckeditor::Engine => '/ckeditor'

  get 'password_resets/new'
  get 'password_resets/edit'
  get 'sessions/new'

  root 'static_pages#home'

  get '/help',           to: 'static_pages#help'
  get '/about',          to: 'static_pages#about'
  get '/contact_us',        to: 'static_pages#contact_us'

  get '/signup',         to: 'users#new'
  post '/signup',        to: 'users#create'

  get '/login',          to: 'sessions#new'
  post '/login',         to: 'sessions#create'
  delete '/logout',      to: 'sessions#destroy'

  get '/pictures/new/:id/imageable_type/:type', to: 'pictures#new', as: 'new_picture'

  get '/contacts/import/google/start', to: 'contacts#import_from_google_start', as: 'new_from_google_contacts'
  get '/contacts/import/google', to: 'contacts#import_from_google', as: 'create_from_google_contacts'

  get '/contacts/import/hotmail_or_other/start', to: 'contacts#import_hotmail_and_or_yahoo_contacts_start', as: 'new_from_hotmail_and_or_yahoo_contacts'
  get '/contacts/import/hotmail_or_other/', to: 'contacts#import_hotmail_and_or_yahoo_contacts', as: 'create_from_hotmail_and_or_yahoo_contacts'


  resources :account_activations, only: [:edit]
  resources :password_resets, only: [:new, :create, :edit, :update] 
  resources :pictures, only: [ :create, :update, :destroy]     
  resources :contacts
  resources :users
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html

конец

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