XThomasBU commited on
Commit
f5a0b90
·
verified ·
1 Parent(s): c55d791

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -0
app.py CHANGED
@@ -10,6 +10,38 @@ from chainlit.playground.config import add_llm_provider
10
  from chainlit.playground.providers.langchain import LangchainGenericProvider
11
  import chainlit as cl
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  # Instantiate the LLM
14
  llm = HuggingFaceHub(
15
  model_kwargs={"max_length": 500},
 
10
  from chainlit.playground.providers.langchain import LangchainGenericProvider
11
  import chainlit as cl
12
 
13
+ import os
14
+ from authlib import OAuth2Session # This is a placeholder for whatever OAuth library you're using
15
+
16
+ # Retrieving environment variables
17
+ OAUTH_CLIENT_ID = os.getenv("OAUTH_CLIENT_ID")
18
+ OAUTH_CLIENT_SECRET = os.getenv("OAUTH_CLIENT_SECRET")
19
+ OAUTH_SCOPES = os.getenv("OAUTH_SCOPES").split(',') # Assuming OAUTH_SCOPES is a comma-separated list
20
+ OPENID_PROVIDER_URL = os.getenv("OPENID_PROVIDER_URL")
21
+ SPACE_HOST = os.getenv("SPACE_HOST")
22
+
23
+ # Constructing the redirect URL using the SPACE_HOST variable
24
+ redirect_uri = f"https://{SPACE_HOST}/login/callback"
25
+
26
+ # Initializing the OAuth client/session with the retrieved environment variables
27
+ oauth_client = OAuth2Session(client_id=OAUTH_CLIENT_ID,
28
+ redirect_uri=redirect_uri,
29
+ scope=OAUTH_SCOPES)
30
+
31
+ # Redirect the user to the authorization URL
32
+ authorization_url, state = oauth_client.authorization_url(OPENID_PROVIDER_URL + '/authorize')
33
+
34
+ # Note: The actual redirect and callback handling will depend on your web framework (e.g., Flask, Django)
35
+
36
+ # After the user authorizes your app and is redirected back to your redirect_uri,
37
+ # you would exchange the authorization code for an access token
38
+ oauth_client.fetch_token(OPENID_PROVIDER_URL + '/token',
39
+ client_secret=OAUTH_CLIENT_SECRET,
40
+ authorization_response='URL where user was redirected')
41
+
42
+ # Now you can use oauth_client to make authorized requests on behalf of the user
43
+
44
+
45
  # Instantiate the LLM
46
  llm = HuggingFaceHub(
47
  model_kwargs={"max_length": 500},