Class: OpenidController

Inherits:
ResponseController show all
Defined in:
app/controllers/openid_controller.rb

Instance Method Summary collapse

Methods inherited from StartKitController

#access_level_control, #charge_session_manager, #check_access_level, #current_user, #edit_checkout

Instance Method Details

#authorizeObject



5
6
7
8
# File 'app/controllers/openid_controller.rb', line 5

def authorize
  # отправка пользователя на подтверждение
  redirect_to @oauth.auth_request
end

#receiverObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/openid_controller.rb', line 10

def receiver
  if params[:code].present?
    # обмен code на токен
    access_card_params = @oauth.auth_request :step2, {:code => params[:code]}

    case access_card_params[:state]
      when :ok
         access_card_params
        redirect_to profile_path
    else
        # данные не обработаны по причине access_card_params[:error]
        ActiveRecord::Base.logger.error("данные не обработаны по причине #{access_card_params[:error]}")
        # ActionCable.server.broadcast "pills", {state: 'red', message: "данные не обработаны по причине #{access_card_params[:error]}", url: authorization_url}
        redirect_to authorization_url, flash: {pills: "данные не обработаны по причине #{access_card_params[:error]}"}
    end
  else
    #code не пришёл от api соц.сети
    ActiveRecord::Base.logger.error("code не пришёл от api соц.сети")
    # ActionCable.server.broadcast "pills", {state: 'red', message: 'code не пришёл от api соц.сети', url: authorization_url}
    redirect_to authorization_url, flash: {pills: 'code не пришёл от api соц.сети'}
  end
end