Browse Source

Rework sinatra cookie auth

master
Dylan Baker 4 years ago
parent
commit
1f587bda78
2 changed files with 21 additions and 18 deletions
  1. 11
    13
      Gemfile
  2. 10
    5
      web/server.rb

+ 11
- 13
Gemfile View File

@@ -1,27 +1,25 @@
1 1
 # frozen_string_literal: true
2 2
 
3
-source "https://rubygems.org"
3
+source 'https://rubygems.org'
4 4
 
5
-git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
5
+git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6 6
 
7 7
 # gem "rails"
8 8
 
9
-gem "httparty", "~> 0.18.0"
9
+gem 'httparty', '~> 0.18.0'
10 10
 
11
-gem "nokogiri", "~> 1.10"
11
+gem 'nokogiri', '~> 1.10'
12 12
 
13
-gem "pg", "~> 1.2"
13
+gem 'pg', '~> 1.2'
14 14
 
15
-gem "sequel", "~> 5.30"
15
+gem 'sequel', '~> 5.30'
16 16
 
17
-gem "sinatra", "~> 2.0"
17
+gem 'sinatra', '~> 2.0'
18 18
 
19
-gem "dotenv", "~> 2.7"
19
+gem 'dotenv', '~> 2.7'
20 20
 
21
-gem "sassc", "~> 2.2"
21
+gem 'sassc', '~> 2.2'
22 22
 
23
-gem "rake", "~> 13.0"
23
+gem 'rake', '~> 13.0'
24 24
 
25
-gem "redis-rack", "~> 2.1"
26
-
27
-gem "rack", "~> 2.2"
25
+gem 'rack', '~> 2.2'

+ 10
- 5
web/server.rb View File

@@ -6,7 +6,12 @@ require_relative '../lib/auth'
6 6
 require_relative '../lib/search'
7 7
 
8 8
 class VLVSearch < Sinatra::Base
9
-  enable :sessions
9
+  set :sessions,
10
+      key: ENV['SESSION_KEY'],
11
+      domain: ENV['SESSION_DOMAIN'],
12
+      path: '/',
13
+      expire_after: 14_400,
14
+      secret: ENV['SESSION_SECRET']
10 15
 
11 16
   get '/' do
12 17
     redirect '/login' unless signed_in?
@@ -44,13 +49,13 @@ class VLVSearch < Sinatra::Base
44 49
       erb :login,
45 50
           { layout: :layout, locals: { error_message: 'Invalid credentials' } }
46 51
     else
47
-      session[:user_id] = username
52
+      session['user_id'] = username
48 53
       redirect '/'
49 54
     end
50 55
   end
51 56
 
52 57
   post '/logout' do
53
-    session[:user_id] = nil
58
+    session['user_id'] = nil
54 59
     redirect '/'
55 60
   end
56 61
 
@@ -72,11 +77,11 @@ class VLVSearch < Sinatra::Base
72 77
     end
73 78
 
74 79
     def current_user
75
-      session[:user_id]
80
+      session['user_id']
76 81
     end
77 82
 
78 83
     def signed_in?
79
-      !!session[:user_id]
84
+      !!session['user_id']
80 85
     end
81 86
   end
82 87
 

Loading…
Cancel
Save