Files
Brancheneinstufung2/connector-superoffice/generate_auth_url.py

49 lines
1.5 KiB
Python

import os
from dotenv import load_dotenv
import urllib.parse
def generate_url():
import os
from dotenv import load_dotenv
import urllib.parse
# Try current and parent dir
load_dotenv()
load_dotenv(dotenv_path="../.env")
client_id = os.getenv("SO_CLIENT_ID")
# MUST match what is registered in the SuperOffice Developer Portal for this Client ID
redirect_uri = os.getenv("SO_REDIRECT_URI", "http://localhost")
state = "roboplanet_prod_init"
if not client_id:
print("Fehler: Keine SO_CLIENT_ID in der .env gefunden!")
return
params = {
"client_id": client_id,
"redirect_uri": redirect_uri,
"response_type": "code",
"scope": "openid", # Basic scope
"state": state
}
# Use online.superoffice.com for Production
base_url = "https://online.superoffice.com/login/common/oauth/authorize"
auth_url = f"{base_url}?{urllib.parse.urlencode(params)}"
print("\n--- PRODUKTIV-AUTH-LINK ---")
print(f"Mandant: {os.getenv('SO_CONTEXT_IDENTIFIER', 'Cust26720')}")
print(f"Client ID: {client_id[:5]}...")
print("-" * 60)
print(auth_url)
print("-" * 60)
print("\n1. Öffne diesen Link im Browser.")
print("2. Logge dich in deinen ECHTEN Mandanten ein (Cust26720).")
print("3. Nach der Bestätigung kopiere die URL aus der Adresszeile.")
print("4. Paste die URL hier in den Chat.")
if __name__ == "__main__":
generate_url()