Sha256: d990f08ed49586aa4882e108b18f048332c7fb8d9b216eb5f456558be8104873

Contents?: true

Size: 1.57 KB

Versions: 9

Compression:

Stored size: 1.57 KB

Contents

# -*- coding: utf-8 -*-

# OpenID認証情報サインアップ
# FIXME: 全体的に実装を整理
class Signup::OpenIdController < ApplicationController
  # GET /signup/open_id
  def index
    session[:identity_url] = nil
    @openid_url = nil
  end

  # POST /signup/open_id/authenticate
  # GET  /signup/open_id/authenticate
  def authenticate
    @openid_url = params[:openid_url]

    failed = proc { |message|
      flash[:error] = message
      redirect_to(:action => "index")
    }

    authenticate_with_open_id(@openid_url) { |result, identity_url, sreg|
      if result.successful?
        if OpenIdCredential.exists?(:identity_url => identity_url)
          failed[p_("MultiAuth",
                    "Because specified OpenID has already been registered, " +
                    "it is not possible to use it. ")]
        else
          session[:identity_url] = identity_url
          redirect_to(:action => "authenticated")
        end
      else
        failed[result.message]
      end
    }
  end

  # GET /signup/open_id/authenticated
  def authenticated
    @identity_url = session[:identity_url]
  end

  # POST /signup/open_id/create
  def create
    @identity_url = session[:identity_url]

    @user = MultiAuth.user_model_class.new
    @credential = @user.open_id_credentials.build
    @credential.identity_url = @identity_url

    @user.save!

    # FIXME: ログイン状態にしないように変更
    session[:identity_url] = nil
    session[:user_id]      = @user.id

    redirect_to(:action => "created")
  end

  # GET /signup/open_id/created
  def created
    # nop
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
multi_auth-0.2.0 app/controllers/signup/open_id_controller.rb
okkez-multi_auth-0.1.0 app/controllers/signup/open_id_controller.rb
multi_auth-0.1.0 app/controllers/signup/open_id_controller.rb
okkez-multi_auth-0.0.7 app/controllers/signup/open_id_controller.rb
multi_auth-0.0.7 app/controllers/signup/open_id_controller.rb
okkez-multi_auth-0.0.6 app/controllers/signup/open_id_controller.rb
multi_auth-0.0.6 app/controllers/signup/open_id_controller.rb
okkez-multi_auth-0.0.5 app/controllers/signup/open_id_controller.rb
multi_auth-0.0.5 app/controllers/signup/open_id_controller.rb