質問

ようにしている書簡単なOAuthによる消費者のアプリにします。を使用していAuthlogicの取り扱いの認証をAuthlogic OAuthによるプラグインのoauthによるものです。

のoauthによるプラグインが提供しカップルでのヘルパーを描画するためにサインインボタン:oauth_login_buttonとoauth_register_button.とともにAuthlogicロジックのプラグインの依頼ィこの二つのボタンが何らかのセッション/ユーザーです。

その後は-を用いてoauth_login_buttonヘルパー、その後のセッションオブジェクトに失敗したとして保存がないといユーザます。-を用いてoauth_register_buttonヘルパー、その後、ログイン後のレールの苦情のトークンがすでに...そしたらストーリー作品やろうかな創造のためのコピーを同じユーザである。

の問題:ならないようにしたいの両方の登録およびログインボタン自分のサイトです。

ユーザーの側に何を残したいが単一のボタンをスタートページに、"三井住友信託銀行株式.のような業界標準の暗号化通信であるsslをTwitter"は、ユーザーをクリックに進む内部のページのサイトです。

サーバ側では、たい暗黙的に作成、地域ユーザーアカウントの場合、ユーザーが初来所の方は私のサイトです。

なかるのか?

すべてのサンプルAuthlogic+OAuthいを見つけることができました。いなかったのでしょうかケアについて単一のボタンサインインします。:(

役に立ちましたか?

解決

そうかとの問いに答える。

使うには、次のコードを生成し、サインインボタン(HAML):

- form_tag({:controller => "users", :action => "create"}, {:method => "post"}) do
  = oauth_register_button :value => "Sign In with Twitter"

そんなユーザーのセッションオブジェクトの作成方法のUsersControllerクラスの場合、ユーザーがすでに存在する:

def create
  @user = User.new(params[:user])
  @user.save do |result| # LINE A
    if result
      flash[:notice] = "Account registered!"
      redirect_to some_inner_path
    else
      unless @user.oauth_token.nil?
        @user = User.find_by_oauth_token(@user.oauth_token)
        unless @user.nil?
          UserSession.create(@user)
          flash.now[:message] = "Welcome back!"
          redirect_to some_inner_path        
        else
          redirect_back_or_default root_path
        end
      else
        redirect_back_or_default root_path
      end
    end
  end
end

場合は、ユーザーが初来所の方は、そのユーザオブジェクトが正常に保存された線A.場合ではないが、oauthによるトークンをご用意してみてを取得するユーザーのDBからログイン人。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top