Sha256: 1110ab09c29728f6aff34a6c5b626c6aa42697c2361359e98314486978470f1c

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

class JekyllAuth
  class AuthSite < Sinatra::Base
    configure :production do
      require "rack-ssl-enforcer"
      use Rack::SslEnforcer if JekyllAuth.ssl?
    end

    use Rack::Session::Cookie,       :http_only => true,
                                     :secret    => ENV["SESSION_SECRET"] || SecureRandom.hex

    set :github_options, :scopes => "read:org"

    ENV["WARDEN_GITHUB_VERIFIER_SECRET"] ||= SecureRandom.hex
    register Sinatra::Auth::Github

    use Rack::Logger

    include JekyllAuth::Helpers

    before do
      pass if whitelisted?

      logger.info "Authentication strategy: #{authentication_strategy}"

      case authentication_strategy
      when :team
        github_team_authenticate! ENV["GITHUB_TEAM_ID"]
      when :teams
        github_teams_authenticate! ENV["GITHUB_TEAM_IDS"].split(",")
      when :org
        github_organization_authenticate! ENV["GITHUB_ORG_NAME"]
      else
        raise JekyllAuth::ConfigError
      end
    end

    get "/logout" do
      logout!
      redirect "/"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-auth-2.1.0 lib/jekyll_auth/auth_site.rb