File size: 864 Bytes
5d4959a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76b596f
2f83d3e
 
5d4959a
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import os
from pathlib import Path

import tomli_w

_SECRETS_PATH = Path(".streamlit/secrets.toml")


def ensure_secrets_file() -> None:
    if _SECRETS_PATH.exists() or "AUTH_CLIENT_ID" not in os.environ:
        return  # local dev already has the real file; skip if env unset

    _SECRETS_PATH.parent.mkdir(exist_ok=True)
    data = {
        "auth": {
            "redirect_uri": os.environ["AUTH_REDIRECT_URI"],
            "cookie_secret": os.environ["AUTH_COOKIE_SECRET"],
            "client_id": os.environ["AUTH_CLIENT_ID"],
            "client_secret": os.environ["AUTH_CLIENT_SECRET"],
            "server_metadata_url": "https://accounts.google.com/.well-known/openid-configuration",
        },
        "cookies": {
            "encryption_key": os.environ["COOKIE_ENCRYPTION_KEY"],
        },
    }
    _SECRETS_PATH.write_text(tomli_w.dumps(data))