1
1
import os
2
2
import json
3
- from flask import Flask , redirect , render_template , request , url_for
3
+ from flask import Flask , render_template , request
4
4
import workos
5
5
from workos import client as workos_client
6
6
10
10
11
11
# WorkOS Setup
12
12
workos .api_key = os .getenv ("WORKOS_API_KEY" )
13
- workos .project_id = os .getenv ("WORKOS_CLIENT_ID" )
13
+ workos .client_id = os .getenv ("WORKOS_CLIENT_ID" )
14
14
workos .base_api_url = "http://localhost:5000/" if DEBUG else workos .base_api_url
15
15
16
16
redirect_uri = "http://localhost:5000/success"
@@ -33,23 +33,23 @@ def passwordless_auth():
33
33
email = request .form ["email" ]
34
34
35
35
session = workos_client .passwordless .create_session (
36
- { " email" : email , " type" : " MagicLink" , " redirect_uri" : redirect_uri }
36
+ email = email , type = " MagicLink" , redirect_uri = redirect_uri
37
37
)
38
38
39
39
# Send a custom email using your own service
40
- print (email , session [ " link" ] )
40
+ print (email , session . link )
41
41
42
42
# Finally, redirect to a "Check your email" page
43
43
return render_template (
44
- "serve_magic_link.html" , email = email , magic_link = session [ " link" ]
44
+ "serve_magic_link.html" , email = email , magic_link = session . link
45
45
)
46
46
47
47
48
48
@app .route ("/success" )
49
49
def success ():
50
50
code = request .args .get ("code" )
51
+ if not code :
52
+ return "No code provided"
51
53
profile = workos .client .sso .get_profile_and_token (code )
52
- p_profile = profile .to_dict ()
53
- raw_profile = p_profile ["profile" ]
54
54
55
- return render_template ("success.html" , raw_profile = raw_profile )
55
+ return render_template ("success.html" , raw_profile = profile . dict () )
0 commit comments