File tree Expand file tree Collapse file tree 2 files changed +21
-3
lines changed
python-flask-directory-sync-example Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Original file line number Diff line number Diff line change 1
1
import os
2
- from flask import (Flask , render_template , url_for )
2
+ from flask import (Flask , render_template , request , Response )
3
3
import workos
4
+ from workos import client as workos_client
4
5
5
6
DEBUG = False
6
7
app = Flask (__name__ )
@@ -15,12 +16,28 @@ def home():
15
16
16
17
@app .route ('/users' )
17
18
def directory_users ():
18
- users = workos . client .directory_sync .list_users (directory = directory_id )
19
+ users = workos_client .directory_sync .list_users (directory = directory_id )
19
20
return render_template ('users.html' , users = users )
20
21
21
22
22
23
@app .route ('/groups' )
23
24
def directory_groups ():
24
- groups = workos . client .directory_sync .list_groups (directory = directory_id )
25
+ groups = workos_client .directory_sync .list_groups (directory = directory_id )
25
26
26
27
return render_template ('groups.html' , groups = groups )
28
+
29
+ @app .route ('/webhooks' , methods = ['POST' ])
30
+ def webhooks ():
31
+ payload = request .get_data ()
32
+ sig_header = request .headers ['WorkOS-Signature' ]
33
+
34
+ response = workos_client .webhooks .verify_event (
35
+ payload = payload ,
36
+ sig_header = sig_header ,
37
+ secret = os .getenv ('WEBHOOKS_SECRET' )
38
+ )
39
+ # Validate the response is successful
40
+ print (response )
41
+
42
+ # Return a 200 to prevent retries based on validation
43
+ return Response (status = 200 )
Original file line number Diff line number Diff line change 1
1
2
2
Flask >= 1.1.2
3
3
workos >= 0.3.2
4
+ python-dotenv
You can’t perform that action at this time.
0 commit comments