Sha256: 50926e8cb0b6b94553b348d64fc4ad41a3334fae00bea8d25f82994bc309e87d

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

module Authorizme
  module Login
    class DraugiemController < AuthorizmeController
      before_filter :set_draugiem

      def auth
        redirect_to @draugiem.login_url
      end

      def callback
        json = @draugiem.authorize params[:dr_auth_status], params[:dr_auth_code]
        if params[:dr_auth_status] == "ok" && json["users"]
          user_json = json["users"][json["uid"]]
          attributes = {first_name: user_json["name"], last_name: user_json["surname"], image_url: user_json["img"]}
          user = User.authenticate_with_draugiem(json["uid"], attributes, json["apikey"]) 
          login user
          respond_with_status "logged_in", user: user
        else
          respond_with_status "error_in_loggin"
        end
      end

      private

        def set_draugiem
          options = {
            draugiem_app_id: Authorizme::draugiem_app_id,
            draugiem_app_key: Authorizme::draugiem_app_key,
            draugiem_api_path: Authorizme::draugiem_api_path,
            draugiem_api_authorize_path: Authorizme::draugiem_api_authorize_path,
            redirect_url: redirect_uri("draugiem")       
          }
          @draugiem = Authorizme::Provider::Draugiem.new(options)
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
authorizme-0.0.2 app/controllers/authorizme/login/draugiem_controller.rb
authorizme-0.0.1.alpha app/controllers/authorizme/login/draugiem_controller.rb