Sha256: 06bc92dda4ed744d73cf97a569b607df6aebaacb5b73f4fa691350e412234b2a

Contents?: true

Size: 506 Bytes

Versions: 3

Compression:

Stored size: 506 Bytes

Contents

# encoding: utf-8
require 'warden'

module OpenSesame
  class GithubWarden < ::Warden::Strategies::Base

    def valid?
      auth_hash && auth_hash["provider"] == "github"
    end

    def authenticate!
      if member = OpenSesame::Member.find(auth_hash["uid"])
        success! member
      else
        fail 'Sorry, you do not have access'
      end
    end

    def auth_hash
      request.env['omniauth.auth']
    end

  end
end

::Warden::Strategies.add(:opensesame_github, OpenSesame::GithubWarden)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
opensesame-0.1.2 lib/open_sesame/github_warden.rb
opensesame-0.1.1 lib/open_sesame/github_warden.rb
opensesame-0.1.0 lib/open_sesame/github_warden.rb