import os from dotenv import load_dotenv import urllib.parse def generate_url(): load_dotenv(dotenv_path="/home/node/clawd/.env") client_id = os.getenv("SO_CLIENT_ID") or os.getenv("SO_SOD") redirect_uri = "https://devnet-tools.superoffice.com/openid/callback" # Das muss im Portal so registriert sein state = "12345" 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 offline_access", # Wichtig für Refresh Token "state": state } base_url = "https://sod.superoffice.com/login/common/oauth/authorize" auth_url = f"{base_url}?{urllib.parse.urlencode(params)}" print("\nBitte öffne diese URL im Browser:") print("-" * 60) print(auth_url) print("-" * 60) print("\nNach dem Login wirst du auf eine Seite weitergeleitet, die nicht lädt (localhost).") print("Kopiere die URL aus der Adresszeile und gib mir den Wert nach '?code='.") if __name__ == "__main__": generate_url()