はてな認証APIを使う

LoginGeneratorをそのまま使って、コントローラーをちょっと変える。

require 'hatena/api/auth'
class AuthController < ApplicationController

  API_KEY = '...'
  SECRET = '...'

  def login
    hatena_auth = Hatena::API::Auth.new(:api_key => API_KEY, :secret => SECRET)
    if params.has_key?(:cert)
      begin
        user_info = hatena_auth.login(params[:cert])
        session[:user] = User.find_or_create_by_name(user_info['name'])
        redirect_back_or_default index_url
      rescue Hatena::API::AuthError => e
        flash.now[:notice] = '認証に失敗しました。'
      end
    else
      redirect_to hatena_auth.uri_to_login.to_s
    end
  end

  def logout
    session[:user] = nil
    redirect_to index_url
  end

end

API_KEY とかの定数をどこに書けばいいのかわからない。config/environment.rb ?
ちゃんとしたジェネレータとかはsecondなんとかさんが作ってくれると思います。