my-cloud-devops-consulting 1.1.202507211526__tar.gz → 1.1.202507211609__tar.gz
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.
- {my-cloud-devops-consulting-1.1.202507211526/my_cloud_devops_consulting.egg-info → my-cloud-devops-consulting-1.1.202507211609}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/app.py +16 -3
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609/my_cloud_devops_consulting.egg-info}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/base.html +21 -7
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/MANIFEST.in +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/README.md +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/my_cloud_devops_consulting.egg-info/SOURCES.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/setup.cfg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/setup.py +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/anifest.json +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/about.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/assessment.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/contact-form.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/index.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/login.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/main.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/register.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/css/services.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/facebook.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/favicon.svg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/image.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/instagram.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/linkedin.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/pexels-divinetechygirl-1181341.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/pexels-divinetechygirl-1181472.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/pexels-fotios-photos-16129703.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/pexels-tiger-lily-7108466.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/video-poster.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/whatsapp-navbar.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/images/worldmap.jpeg +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/js/counter.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/js/index.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/js/login.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/js/main.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/js/register.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/js/services.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/js/typing.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/robots.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/sitemap.xml +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/video/7989443-hd_1920_1080_25fps.mp4 +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/video/Untitled_video.mp4 +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/static/video/myvideo.mp4.mp4 +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/about.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/assessment.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/contact-form.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/forgot-password.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/index.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/login.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/private-videos.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/register.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/reset-password.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/templates/services.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/test/test.py +0 -0
{my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/app.py
RENAMED
@@ -7,11 +7,14 @@ import os
|
|
7
7
|
from flask_login import LoginManager,login_user,UserMixin,login_required,logout_user,current_user
|
8
8
|
from settings import SECRET_KEY,MONGO_URI, EMAIL_USER, MONGO_PASSWORD, MONGO_USERNAME
|
9
9
|
from utils import send_email, get_videos
|
10
|
+
from werkzeug.middleware.proxy_fix import ProxyFix
|
10
11
|
|
11
12
|
|
12
13
|
|
13
14
|
app = Flask(__name__)
|
14
15
|
app.secret_key = SECRET_KEY # Secure your secret key with an environment variable
|
16
|
+
# 🔐 Let Flask correctly detect HTTPS and domain from proxy headers
|
17
|
+
app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)
|
15
18
|
### app.secret_key = SECRET_KEY isn’t an import at all—it’s just an assignment
|
16
19
|
login_manager = LoginManager()
|
17
20
|
|
@@ -128,14 +131,22 @@ def contact_form():
|
|
128
131
|
return redirect(url_for('contact_form'))
|
129
132
|
return render_template('contact-form.html')
|
130
133
|
|
134
|
+
# Update the /videos route to support both login types if does not work use this old one
|
135
|
+
# @app.route('/videos')
|
136
|
+
# # @login_required
|
137
|
+
# def private_videos():
|
138
|
+
# if not current_user.is_authenticated:
|
139
|
+
# return redirect(url_for('login'))
|
140
|
+
# videos = get_videos()
|
141
|
+
# return render_template('private-videos.html', videos=videos)
|
131
142
|
|
132
143
|
@app.route('/videos')
|
133
|
-
# @login_required
|
134
144
|
def private_videos():
|
135
|
-
if not current_user.is_authenticated:
|
145
|
+
if not current_user.is_authenticated and 'user' not in session:
|
136
146
|
return redirect(url_for('login'))
|
137
147
|
videos = get_videos()
|
138
148
|
return render_template('private-videos.html', videos=videos)
|
149
|
+
|
139
150
|
@app.route("/logout")
|
140
151
|
@login_required
|
141
152
|
def logout():
|
@@ -278,14 +289,16 @@ oauth.register(
|
|
278
289
|
def login_cognito():
|
279
290
|
session.pop('user', None)
|
280
291
|
redirect_uri = url_for('authorize', _external=True)
|
292
|
+
print("🧭 Redirect URI being used:", redirect_uri) # <--- add this
|
281
293
|
return oauth.oidc.authorize_redirect(
|
282
294
|
redirect_uri,
|
283
|
-
prompt='login'
|
295
|
+
prompt='login'
|
284
296
|
)
|
285
297
|
|
286
298
|
|
287
299
|
|
288
300
|
|
301
|
+
|
289
302
|
# The OAuth module collects the access token and retrieves user data from the Amazon Cognito userInfo endpoint. Configure an authorize route to handle the access token and user data after authentication.
|
290
303
|
@app.route('/authorize')
|
291
304
|
def authorize():
|
@@ -208,13 +208,27 @@
|
|
208
208
|
><i class="fas fa-sign-in-alt"></i> Login</a
|
209
209
|
>
|
210
210
|
</li>
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
211
|
+
<!-- ✅ add cognito login -->
|
212
|
+
{% if session.user %}
|
213
|
+
<li>
|
214
|
+
<span style="color: white; padding-right: 10px;">
|
215
|
+
Welcome, {{ session.user.name or session.user.email }}
|
216
|
+
</span>
|
217
|
+
</li>
|
218
|
+
<li>
|
219
|
+
<a href="{{ url_for('logout_cognito') }}">
|
220
|
+
<i class="fas fa-sign-out-alt"></i> Logout
|
221
|
+
</a>
|
222
|
+
</li>
|
223
|
+
{% else %}
|
224
|
+
<li>
|
225
|
+
<a href="{{ url_for('login_cognito') }}">
|
226
|
+
<i class="fas fa-user-lock"></i> Login with Cognito
|
227
|
+
</a>
|
228
|
+
</li>
|
229
|
+
{% endif %}
|
230
|
+
<!-- ✅ end cognito login -->
|
231
|
+
|
218
232
|
|
219
233
|
<li
|
220
234
|
style="
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{my-cloud-devops-consulting-1.1.202507211526 → my-cloud-devops-consulting-1.1.202507211609}/setup.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|