j1_template_mde 2018.4.13 → 2018.4.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_includes/themes/j1/procedures/global/create_bs_button.proc +4 -1
- data/lib/j1/version.rb +1 -1
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +97 -66
- data/lib/j1_app/j1_auth_manager/config.rb +23 -12
- data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +17 -0
- data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +17 -0
- data/lib/j1_app/j1_auth_manager/helpers_github.rb +17 -0
- data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +17 -0
- data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +18 -0
- data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +18 -0
- data/lib/j1_app/omniauth/strategies/disqus.rb +75 -18
- data/lib/j1_app/omniauth/strategies/facebook.rb +56 -25
- data/lib/j1_app/omniauth/strategies/github.rb +73 -11
- data/lib/j1_app/omniauth/strategies/patreon.rb +97 -20
- data/lib/j1_app/omniauth/strategies/twitter.rb +63 -11
- data/lib/starter_web/_config.yml +41 -13
- data/lib/starter_web/_data/modules/j1_banner.yml +8 -0
- data/lib/starter_web/_data/modules/j1_navigator_menu.yml +34 -25
- data/lib/starter_web/assets/data/banner.html +12 -4
- data/lib/starter_web/assets/data/mdi_icons.json +496 -179
- data/lib/starter_web/assets/images/icons/patreon/favicon-16x16.png +0 -0
- data/lib/starter_web/assets/images/icons/patreon/favicon-32x32.png +0 -0
- data/lib/starter_web/assets/images/master_header/{admin-dashboard-bootstrap.1280x600.png → admin-dashboard-bootstrap-1280x600.png} +0 -0
- data/lib/starter_web/assets/images/master_header/{clark-tibbs-do-something.1280x600.png → clark-tibbs-do-something-1280x600.png} +0 -0
- data/lib/starter_web/assets/images/master_header/{clark-tibbs-do-something.1920x900.png → clark-tibbs-do-something-1920x900.png} +0 -0
- data/lib/starter_web/assets/images/master_header/{docker_banner_l.1280x500.png → docker_banner_l-1280x500.png} +0 -0
- data/lib/starter_web/assets/images/master_header/{docker_banner_r.1280x500.png → docker_banner_r-1280x500.png} +0 -0
- data/lib/starter_web/assets/images/master_header/{ideas-start-here.1280x900.png → ideas-start-here-1280x900.png} +0 -0
- data/lib/starter_web/assets/images/master_header/{ideas-start-here.1920x1200.png → ideas-start-here-1920x1200.png} +0 -0
- data/lib/starter_web/assets/images/master_header/{maarten-van-den-heuvel.1280x600.png → maarten-van-den-heuvel-1280x600.png} +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/bootstrap-modals.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/puzzle-1280x600.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/readme_1280x600.png +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/readme_1920x1000.png +0 -0
- data/lib/starter_web/assets/images/patreon/premium-content-420x200.png +0 -0
- data/lib/starter_web/assets/images/patreon/scalable/Premium-content.psd +0 -0
- data/lib/starter_web/assets/themes/j1/core/css/vendor.css +4144 -432
- data/lib/starter_web/assets/themes/j1/core/css/vendor.min.css +1 -1
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.eot +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.svg +3987 -168
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.woff2 +0 -0
- data/lib/starter_web/collections/_biography/becoming.adoc +68 -0
- data/lib/starter_web/collections/posts/premium/series/_posts/2018-11-01-docker-using-shared-folders.adoc +1 -1
- data/lib/starter_web/collections/posts/premium/series/_posts/2018-11-01-docker-using-shared-folders.asciidoc +1 -1
- data/lib/starter_web/index.html +1 -1
- data/lib/starter_web/pages/premium/bookshelf/100_about_jekyll_collections.adoc +9 -0
- data/lib/starter_web/pages/premium/bookshelf/200_book_shelf_biography.adoc +9 -0
- data/lib/starter_web/pages/premium/bookshelf/300_book_shelf_fantasy.adoc +9 -0
- data/lib/starter_web/pages/premium/bookshelf/400_book_shelf_romance.adoc +9 -0
- data/lib/starter_web/pages/private/previewer/justified_gallery.html +9 -0
- data/lib/starter_web/pages/private/previewer/mdi_icons_preview.adoc +7 -6
- data/lib/starter_web/pages/private/previewer/twitter_emoji_preview.adoc +10 -0
- data/lib/starter_web/pages/public/about/about_site.adoc +2 -7
- data/lib/starter_web/pages/public/about/become_a_patron.adoc +53 -0
- data/lib/starter_web/pages/public/blog/navigator/archive.html +9 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +9 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +9 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +9 -0
- data/lib/starter_web/pages/public/blog/navigator/index.html +2 -2
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +12 -0
- data/lib/starter_web/pages/public/start/change_me_first.adoc +12 -0
- data/lib/starter_web/pages/public/start/read_me_first.adoc +12 -0
- data/lib/starter_web/pages/public/start/roundtrip/500_asciidoc_extensions.adoc +13 -1
- data/lib/starter_web/pages/public/start/roundtrip/700_j1_modals.adoc +24 -9
- metadata +20 -13
- data/lib/j1_app/omniauth/strategies/_unused/doumart_patreon.rb +0 -75
- data/lib/j1_app/omniauth/strategies/_unused/my_patreon.rb +0 -78
- data/lib/starter_web/pages/public/start/dm920hd.adoc +0 -467
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 50fdf4baf4065cd8c1783f8d5e6114956ae79a8b
|
|
4
|
+
data.tar.gz: 7bf1982f2266f606bd435abebfe25fe5c1d29ba3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e230ed4d944e11fbda67e83c24a6b3281af89f374c071358c0f146d0f8f5d0a563ebc3049d93e346bfbbc1f9f70c03d622ebcd77a3fae80441fce0929b31255c
|
|
7
|
+
data.tar.gz: 0f41b6eaa8946286d484d9723262f015e7c57013b88b71bf0f7d7c4aabde67b36f00e53231429cfd41a3b905147b013919f46bd41f81739b27d8a7e6460bcb50
|
|
@@ -68,11 +68,14 @@
|
|
|
68
68
|
{% if key == 'icon_color' %} {% assign button_icon_color = value %} {% endif %}
|
|
69
69
|
{% if key == 'icon_size' %} {% assign button_icon_size = value %} {% endif %}
|
|
70
70
|
{% if key == 'href' %} {% assign button_href = value %} {% endif %}
|
|
71
|
+
{% if key == 'target' %} {% assign button_target = value %} {% endif %}
|
|
71
72
|
{% endfor %}
|
|
72
73
|
|
|
73
74
|
{% endfor %}
|
|
74
75
|
|
|
75
|
-
{% if button_href %}
|
|
76
|
+
{% if button_href and button_target %}
|
|
77
|
+
{% capture bs_button_html %}<a href="{{button_href}}" target="{{ button_target }}" class="btn {{button_class}}"><i class="{{icon_family}} {{icon_family}}-{{button_icon}} {{icon_family}}-{{button_icon_size}} {{icon_family}}-{{button_icon_color}} mr-1"></i> {{button_text}} </a>{% endcapture %}
|
|
78
|
+
{% elsif button_href %}
|
|
76
79
|
{% capture bs_button_html %}<a href="{{button_href}}" class="btn {{button_class}}"><i class="{{icon_family}} {{icon_family}}-{{button_icon}} {{icon_family}}-{{button_icon_size}} {{icon_family}}-{{button_icon_color}} mr-1"></i> {{button_text}} </a>{% endcapture %}
|
|
77
80
|
{% else %}
|
|
78
81
|
{% capture bs_button_html %}<!-- INFO: No valid value for parameter href found. -->{% endcapture %}
|
data/lib/j1/version.rb
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
# ------------------------------------------------------------------------------
|
|
4
|
+
# ~/lib/j1_auth_manager/auth_manager/.rb
|
|
5
|
+
#
|
|
6
|
+
# Provides authentication services based on Warden|OmniAuth
|
|
7
|
+
#
|
|
8
|
+
# Product/Info:
|
|
9
|
+
# https://jekyll-one.com
|
|
10
|
+
#
|
|
11
|
+
# Copyright (C) 2019 Juergen Adams
|
|
12
|
+
#
|
|
13
|
+
# J1 Template is licensed under the MIT License.
|
|
14
|
+
# See: https://github.com/jekyll-one/j1_template_mde/blob/master/LICENSE
|
|
15
|
+
#
|
|
16
|
+
# ------------------------------------------------------------------------------
|
|
17
|
+
# NOTES
|
|
18
|
+
#
|
|
19
|
+
# ------------------------------------------------------------------------------
|
|
3
20
|
module J1App
|
|
4
21
|
class AuthManager < Sinatra::Base
|
|
5
22
|
|
|
@@ -12,11 +29,11 @@ module J1App
|
|
|
12
29
|
|
|
13
30
|
# NOTE: https://stackoverflow.com/questions/7847536/sinatra-in-facebook-iframe
|
|
14
31
|
#
|
|
15
|
-
set :protection, :except => :frame_options
|
|
32
|
+
#set :protection, :except => :frame_options
|
|
16
33
|
|
|
17
34
|
# Check: http://sinatrarb.com/intro.html
|
|
18
35
|
#
|
|
19
|
-
set :static_cache_control, [:public, :max_age => 10]
|
|
36
|
+
#set :static_cache_control, [:public, :max_age => 10]
|
|
20
37
|
|
|
21
38
|
|
|
22
39
|
# ==========================================================================
|
|
@@ -24,17 +41,16 @@ module J1App
|
|
|
24
41
|
# ==========================================================================
|
|
25
42
|
|
|
26
43
|
j1_web_session = {
|
|
27
|
-
'authenticated'
|
|
28
|
-
'requested_page'
|
|
29
|
-
'users_allowed'
|
|
30
|
-
'user_name'
|
|
31
|
-
'user_id'
|
|
32
|
-
'
|
|
33
|
-
'
|
|
34
|
-
'
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'writer' => 'middleware'
|
|
44
|
+
'authenticated' => 'false',
|
|
45
|
+
'requested_page' => '/',
|
|
46
|
+
'users_allowed' => 'unknown',
|
|
47
|
+
'user_name' => 'unknown',
|
|
48
|
+
'user_id' => 'unknown',
|
|
49
|
+
'provider' => 'unknown',
|
|
50
|
+
'provider_url' => '/',
|
|
51
|
+
'payment_info' => 'unknown',
|
|
52
|
+
'permissions' => 'unknown',
|
|
53
|
+
'writer' => 'middleware'
|
|
38
54
|
}
|
|
39
55
|
|
|
40
56
|
# Enable SSL for the rack session if configured
|
|
@@ -97,40 +113,62 @@ module J1App
|
|
|
97
113
|
|
|
98
114
|
# Detect and set supported authentication strategies for OmniAuth
|
|
99
115
|
# ------------------------------------------------------------------------
|
|
116
|
+
|
|
117
|
+
# Additional (strategy) option skip_extra, default: true
|
|
118
|
+
#
|
|
119
|
+
# If true, skips the collection of raw data (extra) to NOT blow
|
|
120
|
+
# up the session cookie (as it is limited to 4K)
|
|
121
|
+
skip_extra = true
|
|
122
|
+
|
|
100
123
|
if J1App.provider.include? 'patreon'
|
|
101
|
-
scope
|
|
124
|
+
scope = J1App.provider_scope 'patreon'
|
|
125
|
+
data_collection = J1App.provider_data 'patreon'
|
|
126
|
+
skip_extra = false if data_collection =~ /raw/i
|
|
102
127
|
provider :patreon,
|
|
103
128
|
ENV['PATREON_CLIENT_ID'],
|
|
104
129
|
ENV['PATREON_CLIENT_SECRET'],
|
|
105
|
-
scope: "#{scope}"
|
|
130
|
+
scope: "#{scope}",
|
|
131
|
+
skip_extra: skip_extra
|
|
106
132
|
end
|
|
107
133
|
if J1App.provider.include? 'disqus'
|
|
108
|
-
scope
|
|
134
|
+
scope = J1App.provider_scope 'disqus'
|
|
135
|
+
data_collection = J1App.provider_data 'disqus'
|
|
136
|
+
skip_extra = false if data_collection =~ /raw/i
|
|
109
137
|
provider :disqus,
|
|
110
138
|
ENV['DISQUS_CLIENT_ID'],
|
|
111
139
|
ENV['DISQUS_CLIENT_SECRET'],
|
|
112
|
-
scope: "#{scope}"
|
|
140
|
+
scope: "#{scope}",
|
|
141
|
+
skip_extra: skip_extra
|
|
113
142
|
end
|
|
114
143
|
if J1App.provider.include? 'facebook'
|
|
115
|
-
scope
|
|
144
|
+
scope = J1App.provider_scope 'facebook'
|
|
145
|
+
data_collection = J1App.provider_data 'facebook'
|
|
146
|
+
skip_extra = false if data_collection =~ /raw/i
|
|
116
147
|
provider :facebook,
|
|
117
148
|
ENV['FACEBOOK_CLIENT_ID'],
|
|
118
149
|
ENV['FACEBOOK_CLIENT_SECRET'],
|
|
119
|
-
scope: "#{scope}"
|
|
150
|
+
scope: "#{scope}",
|
|
151
|
+
skip_extra: skip_extra
|
|
120
152
|
end
|
|
121
153
|
if J1App.provider.include? 'github'
|
|
122
|
-
scope
|
|
154
|
+
scope = J1App.provider_scope 'github'
|
|
155
|
+
data_collection = J1App.provider_data 'github'
|
|
156
|
+
skip_extra = false if data_collection =~ /raw/i
|
|
123
157
|
provider :github,
|
|
124
158
|
ENV['GITHUB_CLIENT_ID'],
|
|
125
159
|
ENV['GITHUB_CLIENT_SECRET'],
|
|
126
|
-
scope: "#{scope}"
|
|
160
|
+
scope: "#{scope}",
|
|
161
|
+
skip_extra: skip_extra
|
|
127
162
|
end
|
|
128
163
|
if J1App.provider.include? 'twitter'
|
|
129
|
-
scope
|
|
164
|
+
scope = J1App.provider_scope 'twitter'
|
|
165
|
+
data_collection = J1App.provider_data 'twitter'
|
|
166
|
+
skip_extra = false if data_collection =~ /raw/i
|
|
130
167
|
provider :twitter,
|
|
131
168
|
ENV['TWITTER_CLIENT_ID'],
|
|
132
169
|
ENV['TWITTER_CLIENT_SECRET'],
|
|
133
|
-
scope: "#{scope}"
|
|
170
|
+
scope: "#{scope}",
|
|
171
|
+
skip_extra: skip_extra
|
|
134
172
|
end
|
|
135
173
|
end
|
|
136
174
|
|
|
@@ -189,13 +227,7 @@ module J1App
|
|
|
189
227
|
j1_web_session['provider'] = user[:provider]
|
|
190
228
|
j1_web_session['provider_url'] = J1App.provider_url user[:provider]
|
|
191
229
|
j1_web_session['permissions'] = J1App.get_provider_permissions "#{user[:provider]}"
|
|
192
|
-
|
|
193
|
-
j1_web_session['user_details'] = user[:extra]['raw_info']['data']['attributes']
|
|
194
|
-
j1_web_session['user_pledges'] = user[:extra]['raw_info']['data']['relationships']['pledges'] unless user[:extra]['raw_info']['data']['relationships'].nil?
|
|
195
|
-
else
|
|
196
|
-
j1_web_session['user_pledges'] = 'unknown'
|
|
197
|
-
j1_web_session['provider'] = 'unknown'
|
|
198
|
-
end
|
|
230
|
+
j1_web_session['payment_info'] = user[:info]['payment_info']['attributes'] unless user[:info]['payment_info'].nil?
|
|
199
231
|
else
|
|
200
232
|
logger.info "ROOT PAGE: User detected as signed out"
|
|
201
233
|
j1_web_session['authenticated'] = 'false'
|
|
@@ -203,8 +235,7 @@ module J1App
|
|
|
203
235
|
j1_web_session['users_allowed'] = 'all'
|
|
204
236
|
j1_web_session['user_name'] = 'unknown'
|
|
205
237
|
j1_web_session['user_id'] = 'unknown'
|
|
206
|
-
j1_web_session['
|
|
207
|
-
j1_web_session['user_pledges'] = 'unknown'
|
|
238
|
+
j1_web_session['payment_info'] = 'unknown'
|
|
208
239
|
j1_web_session['provider'] = 'unknown'
|
|
209
240
|
j1_web_session['provider_url'] = 'unknown'
|
|
210
241
|
j1_web_session['permissions'] = 'unknown'
|
|
@@ -255,10 +286,7 @@ module J1App
|
|
|
255
286
|
j1_web_session['provider_url'] = J1App.provider_url user[:provider]
|
|
256
287
|
j1_web_session['users_allowed'] = users["#{user[:provider]}"]
|
|
257
288
|
j1_web_session['permissions'] = J1App.get_provider_permissions "#{user[:provider]}"
|
|
258
|
-
|
|
259
|
-
j1_web_session['user_details'] = user[:extra]['raw_info']['data']['attributes']
|
|
260
|
-
j1_web_session['user_pledges'] = user[:extra]['raw_info']['data']['relationships']['pledges'] unless user[:extra]['raw_info']['data']['relationships'].nil?
|
|
261
|
-
end
|
|
289
|
+
j1_web_session['payment_info'] = user[:info]['payment_info']['attributes'] unless user[:info]['payment_info'].nil?
|
|
262
290
|
j1_web_session['writer'] = 'middleware'
|
|
263
291
|
end
|
|
264
292
|
|
|
@@ -445,9 +473,8 @@ module J1App
|
|
|
445
473
|
# --------------------------------------------------------------------
|
|
446
474
|
j1_web_session['user_name'] = 'unknown'
|
|
447
475
|
j1_web_session['user_id'] = 'unknown'
|
|
448
|
-
j1_web_session['user_details'] = 'unknown'
|
|
449
476
|
j1_web_session['users_allowed'] = 'unknown'
|
|
450
|
-
j1_web_session['
|
|
477
|
+
j1_web_session['payment_info'] = 'unknown'
|
|
451
478
|
j1_web_session['provider'] = 'unknown'
|
|
452
479
|
j1_web_session['provider_url'] = 'unknown'
|
|
453
480
|
j1_web_session['permissions'] = 'unknown'
|
|
@@ -507,9 +534,8 @@ module J1App
|
|
|
507
534
|
# --------------------------------------------------------------------
|
|
508
535
|
j1_web_session['user_name'] = 'unknown'
|
|
509
536
|
j1_web_session['user_id'] = 'unknown'
|
|
510
|
-
j1_web_session['user_details'] = 'unknown'
|
|
511
537
|
j1_web_session['users_allowed'] = 'unknown'
|
|
512
|
-
j1_web_session['
|
|
538
|
+
j1_web_session['payment_info'] = 'unknown'
|
|
513
539
|
j1_web_session['provider'] = 'unknown'
|
|
514
540
|
j1_web_session['provider_url'] = 'unknown'
|
|
515
541
|
j1_web_session['permissions'] = 'unknown'
|
|
@@ -545,35 +571,41 @@ module J1App
|
|
|
545
571
|
|
|
546
572
|
#logger.info "AFTER AUTHENTICATION: read J1 web session data as: #{j1_web_session}"
|
|
547
573
|
logger.info "AFTER AUTHENTICATION: read J1 web session data"
|
|
574
|
+
|
|
548
575
|
user = warden.user
|
|
549
|
-
|
|
550
|
-
j1_web_session['user_id'] = user[:uid]
|
|
551
|
-
j1_web_session['provider'] = user[:provider]
|
|
552
|
-
j1_web_session['permissions'] = J1App.get_provider_permissions "#{user[:provider]}"
|
|
553
|
-
j1_web_session['authenticated'] = 'true'
|
|
554
|
-
if user[:provider] == 'patreon'
|
|
555
|
-
j1_web_session['user_details'] = user[:extra]['raw_info']['data']['attributes']
|
|
556
|
-
j1_web_session['user_pledges'] = user[:extra]['raw_info']['data']['relationships']['pledges'] unless user[:extra]['raw_info']['data']['relationships'].nil?
|
|
557
|
-
else
|
|
558
|
-
j1_web_session['user_pledges'] = 'unknown'
|
|
559
|
-
j1_web_session['provider'] = 'unknown'
|
|
560
|
-
end
|
|
561
|
-
j1_web_session['writer'] = 'middleware'
|
|
576
|
+
user_json = user.to_json
|
|
562
577
|
|
|
563
|
-
|
|
564
|
-
|
|
578
|
+
unless user.nil?
|
|
579
|
+
j1_web_session['user_name'] = user[:info]['nickname']
|
|
580
|
+
j1_web_session['user_id'] = user[:uid]
|
|
581
|
+
j1_web_session['provider'] = user[:provider]
|
|
582
|
+
j1_web_session['permissions'] = J1App.get_provider_permissions "#{user[:provider]}"
|
|
583
|
+
j1_web_session['authenticated'] = 'true'
|
|
584
|
+
j1_web_session['payment_info'] = user[:info]['payment_info']['attributes'] unless user[:info]['payment_info'].nil?
|
|
585
|
+
j1_web_session['writer'] = 'middleware'
|
|
565
586
|
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
587
|
+
current_user = user[:info]['nickname'] = user[:info]['nickname']
|
|
588
|
+
current_provider = user[:provider]
|
|
589
|
+
|
|
590
|
+
j1_web_session['requested_page'].scan(/(private|premium)/) do |match|
|
|
591
|
+
category = match[0]
|
|
592
|
+
unless j1_web_session['users_allowed'].include? 'all'
|
|
593
|
+
unless j1_web_session['users_allowed'].include? "#{current_user}"
|
|
594
|
+
logger.info "AFTER AUTHENTICATION: User #{current_user} not allowed. Allowed users: #{j1_web_session['users_allowed']}"
|
|
595
|
+
warden.logout
|
|
596
|
+
session.clear
|
|
597
|
+
logger.info "AFTER AUTHENTICATION: User #{current_user} signed out."
|
|
598
|
+
redirect "/access_denied?provider=#{current_provider}&user=#{current_user}&category=#{category}"
|
|
599
|
+
end
|
|
575
600
|
end
|
|
576
601
|
end
|
|
602
|
+
else
|
|
603
|
+
# Collection of session data failed (e.g cookie > 4K)
|
|
604
|
+
#
|
|
605
|
+
logger.info "AFTER AUTHENTICATION: Internal error, user authentication failed.}"
|
|
606
|
+
warden.logout
|
|
607
|
+
session.clear
|
|
608
|
+
redirect "/access_denied?provider=unknown&user=unknown&category=unknown"
|
|
577
609
|
end
|
|
578
610
|
|
|
579
611
|
j1_web_session['provider'] = current_provider
|
|
@@ -683,9 +715,8 @@ module J1App
|
|
|
683
715
|
# --------------------------------------------------------------------
|
|
684
716
|
j1_web_session['user_name'] = 'unknown'
|
|
685
717
|
j1_web_session['user_id'] = 'unknown'
|
|
686
|
-
j1_web_session['user_details'] = 'unknown'
|
|
687
718
|
j1_web_session['users_allowed'] = 'unknown'
|
|
688
|
-
j1_web_session['
|
|
719
|
+
j1_web_session['payment_info'] = 'unknown'
|
|
689
720
|
j1_web_session['provider'] = 'unknown'
|
|
690
721
|
j1_web_session['provider_url'] = 'unknown'
|
|
691
722
|
j1_web_session['permissions'] = 'unknown'
|
|
@@ -47,30 +47,41 @@ module J1App
|
|
|
47
47
|
|
|
48
48
|
def self.provider_url(arg)
|
|
49
49
|
provider_url = {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
'patreon' => auth_config['provider']['home_url']['patreon'],
|
|
51
|
+
'disqus' => auth_config['provider']['home_url']['disqus'],
|
|
52
|
+
'facebook' => auth_config['provider']['home_url']['facebook'],
|
|
53
|
+
'github' => auth_config['provider']['home_url']['github'],
|
|
54
|
+
'twitter' => auth_config['provider']['home_url']['twitter']
|
|
55
55
|
}
|
|
56
56
|
provider_url[arg]
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
def self.provider_scope(arg)
|
|
60
60
|
provider_scope = {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
'patreon' => auth_config['provider']['scope']['patreon'],
|
|
62
|
+
'disqus' => auth_config['provider']['scope']['disqus'],
|
|
63
|
+
'facebook' => auth_config['provider']['scope']['facebook'],
|
|
64
|
+
'github' => auth_config['provider']['scope']['github'],
|
|
65
|
+
'twitter' => auth_config['provider']['scope']['twitter']
|
|
66
66
|
}
|
|
67
67
|
provider_scope[arg].join(',')
|
|
68
68
|
end
|
|
69
69
|
|
|
70
|
+
def self.provider_data(arg)
|
|
71
|
+
provider_data = {
|
|
72
|
+
'patreon' => auth_config['provider']['data']['patreon'],
|
|
73
|
+
'disqus' => auth_config['provider']['data']['disqus'],
|
|
74
|
+
'facebook' => auth_config['provider']['data']['facebook'],
|
|
75
|
+
'github' => auth_config['provider']['data']['github'],
|
|
76
|
+
'twitter' => auth_config['provider']['data']['twitter']
|
|
77
|
+
}
|
|
78
|
+
provider_data[arg].join(',')
|
|
79
|
+
end
|
|
80
|
+
|
|
70
81
|
def self.permissions
|
|
71
82
|
permission_profile = {
|
|
72
|
-
|
|
73
|
-
|
|
83
|
+
'private' => [],
|
|
84
|
+
'premium' => []
|
|
74
85
|
}
|
|
75
86
|
|
|
76
87
|
provider_permissions = auth_config['provider']['permission']
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------------
|
|
2
|
+
# ~/lib/j1_app/j1_auth_manager/omniauth/strategies/helpers_disqus.rb
|
|
3
|
+
#
|
|
4
|
+
# Provides helper methods for the disqus omniauth strategy
|
|
5
|
+
#
|
|
6
|
+
# Product/Info:
|
|
7
|
+
# https://jekyll-one.com
|
|
8
|
+
#
|
|
9
|
+
# Copyright (C) 2019 Juergen Adams
|
|
10
|
+
#
|
|
11
|
+
# J1 Template is licensed under the MIT License
|
|
12
|
+
# See: https://github.com/jekyll-one/j1_template_mde/blob/master/LICENSE
|
|
13
|
+
#
|
|
14
|
+
# ------------------------------------------------------------------------------
|
|
15
|
+
# NOTES
|
|
16
|
+
#
|
|
17
|
+
# ------------------------------------------------------------------------------
|
|
1
18
|
module J1App
|
|
2
19
|
module DisqusHelpers
|
|
3
20
|
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------------
|
|
2
|
+
# ~/lib/j1_app/j1_auth_manager/omniauth/strategies/helpers_facebook.rb
|
|
3
|
+
#
|
|
4
|
+
# Provides helper methods for the facebook omniauth strategy
|
|
5
|
+
#
|
|
6
|
+
# Product/Info:
|
|
7
|
+
# https://jekyll-one.com
|
|
8
|
+
#
|
|
9
|
+
# Copyright (C) 2019 Juergen Adams
|
|
10
|
+
#
|
|
11
|
+
# J1 Template is licensed under the MIT License
|
|
12
|
+
# See: https://github.com/jekyll-one/j1_template_mde/blob/master/LICENSE
|
|
13
|
+
#
|
|
14
|
+
# ------------------------------------------------------------------------------
|
|
15
|
+
# NOTES
|
|
16
|
+
#
|
|
17
|
+
# ------------------------------------------------------------------------------
|
|
1
18
|
module J1App
|
|
2
19
|
module FacebookHelpers
|
|
3
20
|
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------------
|
|
2
|
+
# ~/lib/j1_app/j1_auth_manager/omniauth/strategies/helpers_github.rb
|
|
3
|
+
#
|
|
4
|
+
# Provides helper methods for the github omniauth strategy
|
|
5
|
+
#
|
|
6
|
+
# Product/Info:
|
|
7
|
+
# https://jekyll-one.com
|
|
8
|
+
#
|
|
9
|
+
# Copyright (C) 2019 Juergen Adams
|
|
10
|
+
#
|
|
11
|
+
# J1 Template is licensed under the MIT License
|
|
12
|
+
# See: https://github.com/jekyll-one/j1_template_mde/blob/master/LICENSE
|
|
13
|
+
#
|
|
14
|
+
# ------------------------------------------------------------------------------
|
|
15
|
+
# NOTES
|
|
16
|
+
#
|
|
17
|
+
# ------------------------------------------------------------------------------
|
|
1
18
|
module J1App
|
|
2
19
|
module GithubHelpers
|
|
3
20
|
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------------
|
|
2
|
+
# ~/lib/j1_app/j1_auth_manager/omniauth/strategies/helpers_patreon.rb
|
|
3
|
+
#
|
|
4
|
+
# Provides helper methods for the patreon omniauth strategy
|
|
5
|
+
#
|
|
6
|
+
# Product/Info:
|
|
7
|
+
# https://jekyll-one.com
|
|
8
|
+
#
|
|
9
|
+
# Copyright (C) 2019 Juergen Adams
|
|
10
|
+
#
|
|
11
|
+
# J1 Template is licensed under the MIT License
|
|
12
|
+
# See: https://github.com/jekyll-one/j1_template_mde/blob/master/LICENSE
|
|
13
|
+
#
|
|
14
|
+
# ------------------------------------------------------------------------------
|
|
15
|
+
# NOTES
|
|
16
|
+
#
|
|
17
|
+
# ------------------------------------------------------------------------------
|
|
1
18
|
module J1App
|
|
2
19
|
module PatreonHelpers
|
|
3
20
|
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------------
|
|
2
|
+
# ~/lib/j1_app/j1_auth_manager/omniauth/strategies/helpers_twitter.rb
|
|
3
|
+
#
|
|
4
|
+
# Provides helper methods for the twitter omniauth strategy
|
|
5
|
+
#
|
|
6
|
+
# Product/Info:
|
|
7
|
+
# https://jekyll-one.com
|
|
8
|
+
#
|
|
9
|
+
# Copyright (C) 2019 Juergen Adams
|
|
10
|
+
#
|
|
11
|
+
# J1 Template is licensed under the MIT License
|
|
12
|
+
# See: https://github.com/jekyll-one/j1_template_mde/blob/master/LICENSE
|
|
13
|
+
#
|
|
14
|
+
# ------------------------------------------------------------------------------
|
|
15
|
+
# NOTES
|
|
16
|
+
#
|
|
17
|
+
# ------------------------------------------------------------------------------
|
|
18
|
+
|
|
1
19
|
module J1App
|
|
2
20
|
module TwitterHelpers
|
|
3
21
|
|