annator-command-center / scripts /port_fix_oauth_server.py
techprotrade's picture
Deploy ATOM FastAPI command center runtime (part 6)
383cb38 verified
Raw
History Blame Contribute Delete
2.85 kB
#!/usr/bin/env python3
"""
OAuth Server on Different Port
"""
import os
import socket
from flask import Flask, jsonify
def is_port_available(port):
"""Check if port is available"""
try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(('127.0.0.1', port))
s.close()
return True
except:
return False
# Find available port
TEST_PORT = 5058
if not is_port_available(TEST_PORT):
TEST_PORT = 8000
if not is_port_available(TEST_PORT):
TEST_PORT = 5060
if not is_port_available(TEST_PORT):
TEST_PORT = 5061
print(f"🔧 Port 5058 available: {is_port_available(5058)}")
print(f"🔧 Using port: {TEST_PORT}")
# Load GitHub credentials
GITHUB_CLIENT_ID = os.getenv('GITHUB_CLIENT_ID')
app = Flask(__name__)
@app.route("/")
def index():
return jsonify({
"message": "OAuth Server Running",
"port": TEST_PORT,
"github_client_id": GITHUB_CLIENT_ID[:10] if GITHUB_CLIENT_ID else None,
"status": "testing"
})
@app.route("/healthz")
def health():
return jsonify({
"status": "ok",
"message": "OAuth server is working",
"port": TEST_PORT
})
@app.route("/api/auth/github/status")
def github_status():
return jsonify({
"ok": True,
"service": "github",
"status": "connected" if GITHUB_CLIENT_ID else "needs_credentials",
"credentials": "real" if GITHUB_CLIENT_ID else "placeholder",
"client_id": GITHUB_CLIENT_ID,
"message": "GitHub OAuth test working"
})
@app.route("/api/auth/github/authorize")
def github_authorize():
user_id = request.args.get("user_id", "test_user")
if GITHUB_CLIENT_ID:
return jsonify({
"ok": True,
"service": "github",
"user_id": user_id,
"credentials": "real",
"client_id": GITHUB_CLIENT_ID,
"auth_url": f"https://github.com/login/oauth/authorize?client_id={GITHUB_CLIENT_ID}&redirect_uri=http://localhost:{TEST_PORT}/api/auth/github/callback&scope=repo user",
"message": "GitHub OAuth working with real credentials"
})
else:
return jsonify({
"ok": True,
"service": "github",
"user_id": user_id,
"credentials": "placeholder",
"message": "GitHub OAuth needs real credentials"
})
if __name__ == "__main__":
print("🚀 OAUTH SERVER WITH PORT FIX")
print("=" * 50)
print(f"🌐 Starting on http://localhost:{TEST_PORT}")
print(f"🔧 GitHub Client ID: {'LOADED' if GITHUB_CLIENT_ID else 'MISSING'}")
print("=" * 50)
try:
app.run(host='127.0.0.1', port=TEST_PORT, debug=False)
except Exception as e:
print(f"❌ Failed to start server: {e}")
exit(1)