auth fix?
This commit is contained in:
1 parent
c1446c25aa
commit
21b6c68ab6
1 file changed
+28
-4
+28
-4
@@ -29,14 +29,25 @@ print(f"DEBUG: CLIENT_SECRET = {'*' * len(CLIENT_SECRET) if CLIENT_SECRET else '
|
|||||||
ADMIN_USERNAME = os.getenv('ADMIN_USERNAME', 'trbcit')
|
ADMIN_USERNAME = os.getenv('ADMIN_USERNAME', 'trbcit')
|
||||||
ADMIN_PASSWORD = os.getenv('ADMIN_PASSWORD', 'atdrmbicn')
|
ADMIN_PASSWORD = os.getenv('ADMIN_PASSWORD', 'atdrmbicn')
|
||||||
|
|
||||||
|
# Initialize OAuth
|
||||||
oauth = OAuth(app)
|
oauth = OAuth(app)
|
||||||
microsoft = oauth.register(
|
|
||||||
|
# Register Microsoft OAuth provider with proper configuration
|
||||||
|
try:
|
||||||
|
microsoft = oauth.register(
|
||||||
name='microsoft',
|
name='microsoft',
|
||||||
client_id=CLIENT_ID,
|
client_id=CLIENT_ID,
|
||||||
client_secret=CLIENT_SECRET,
|
client_secret=CLIENT_SECRET,
|
||||||
server_metadata_url=f'https://login.microsoftonline.com/{TENANT_ID}/v2.0/.well-known/openid_configuration',
|
server_metadata_url=f'https://login.microsoftonline.com/{TENANT_ID}/v2.0/.well-known/openid-configuration',
|
||||||
client_kwargs={'scope': 'openid email profile'}
|
client_kwargs={
|
||||||
)
|
'scope': 'openid email profile',
|
||||||
|
'token_endpoint_auth_method': 'client_secret_post'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
print("DEBUG: Microsoft OAuth provider registered successfully")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"ERROR: Failed to register Microsoft OAuth provider: {e}")
|
||||||
|
microsoft = None
|
||||||
|
|
||||||
def analyze_failed_extractions(log_path):
|
def analyze_failed_extractions(log_path):
|
||||||
"""
|
"""
|
||||||
@@ -654,6 +665,11 @@ def login():
|
|||||||
|
|
||||||
@app.route('/entra-login')
|
@app.route('/entra-login')
|
||||||
def entra_login():
|
def entra_login():
|
||||||
|
# Check if Microsoft OAuth provider is available
|
||||||
|
if microsoft is None:
|
||||||
|
flash('Microsoft Entra ID authentication is not configured.', 'error')
|
||||||
|
return redirect(url_for('login'))
|
||||||
|
|
||||||
# Check if Microsoft Entra ID is configured
|
# Check if Microsoft Entra ID is configured
|
||||||
if TENANT_ID in ['your-tenant-id', 'YOUR_MICROSOFT_ENTRA_TENANT_ID'] or \
|
if TENANT_ID in ['your-tenant-id', 'YOUR_MICROSOFT_ENTRA_TENANT_ID'] or \
|
||||||
CLIENT_ID in ['your-client-id', 'YOUR_MICROSOFT_ENTRA_CLIENT_ID'] or \
|
CLIENT_ID in ['your-client-id', 'YOUR_MICROSOFT_ENTRA_CLIENT_ID'] or \
|
||||||
@@ -661,8 +677,16 @@ def entra_login():
|
|||||||
flash('Microsoft Entra ID is not properly configured. Please check your environment variables.', 'error')
|
flash('Microsoft Entra ID is not properly configured. Please check your environment variables.', 'error')
|
||||||
return redirect(url_for('login'))
|
return redirect(url_for('login'))
|
||||||
|
|
||||||
|
try:
|
||||||
redirect_uri = url_for('auth', _external=True)
|
redirect_uri = url_for('auth', _external=True)
|
||||||
|
print(f"DEBUG: Initiating OAuth with redirect_uri: {redirect_uri}")
|
||||||
return microsoft.authorize_redirect(redirect_uri)
|
return microsoft.authorize_redirect(redirect_uri)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"ERROR: Failed to initiate OAuth: {e}")
|
||||||
|
import traceback
|
||||||
|
print(f"Traceback: {traceback.format_exc()}")
|
||||||
|
flash('Failed to initiate Microsoft authentication. Please try again or use admin login.', 'error')
|
||||||
|
return redirect(url_for('login'))
|
||||||
|
|
||||||
@app.route('/admin-login', methods=['POST'])
|
@app.route('/admin-login', methods=['POST'])
|
||||||
def admin_login():
|
def admin_login():
|
||||||
|
|||||||
Reference in new issue
Block a user