11"""Auth0's sample server
22"""
33from functools import wraps
4- import json
54import os
65
76from dotenv import Dotenv
2726app .secret_key = constants .SECRET_KEY
2827app .debug = True
2928
30- # Requires authentication annotation
29+
30+ # Requires authentication decorator
3131def requires_auth (f ):
3232 @wraps (f )
3333 def decorated (* args , ** kwargs ):
@@ -36,40 +36,49 @@ def decorated(*args, **kwargs):
3636 return f (* args , ** kwargs )
3737 return decorated
3838
39+
3940# Controllers API
4041@app .route ('/' )
4142def home ():
4243 return render_template ('home.html' , env = env )
4344
45+
4446@app .route ('/dashboard' )
4547@requires_auth
4648def dashboard ():
47- return render_template ('dashboard.html' , user = session [constants .PROFILE_KEY ])
49+ return render_template ('dashboard.html' ,
50+ user = session [constants .PROFILE_KEY ])
51+
4852
4953@app .route ('/public/<path:filename>' )
5054def static_files (filename ):
5155 return send_from_directory ('./public' , filename )
5256
57+
5358@app .route ('/callback' )
5459def callback_handling ():
5560 code = request .args .get (constants .CODE_KEY )
5661 json_header = {constants .CONTENT_TYPE_KEY : constants .APP_JSON_KEY }
57- token_url = 'https://{auth0_domain}/oauth/token' .format (auth0_domain = env [constants .AUTH0_DOMAIN ])
62+ token_url = 'https://{auth0_domain}/oauth/token' .format (
63+ auth0_domain = env [constants .AUTH0_DOMAIN ])
5864 token_payload = {
59- constants .CLIENT_ID_KEY : env [constants .AUTH0_CLIENT_ID ],
60- constants .CLIENT_SECRET_KEY : env [constants .AUTH0_CLIENT_SECRET ],
61- constants .REDIRECT_URI_KEY : env [constants .AUTH0_CALLBACK_URL ],
62- constants .CODE_KEY : code ,
63- constants .GRANT_TYPE_KEY : constants .AUTHORIZATION_CODE_KEY
65+ constants .CLIENT_ID_KEY : env [constants .AUTH0_CLIENT_ID ],
66+ constants .CLIENT_SECRET_KEY : env [constants .AUTH0_CLIENT_SECRET ],
67+ constants .REDIRECT_URI_KEY : env [constants .AUTH0_CALLBACK_URL ],
68+ constants .CODE_KEY : code ,
69+ constants .GRANT_TYPE_KEY : constants .AUTHORIZATION_CODE_KEY
6470 }
6571
66- token_info = requests .post (token_url , data = json . dumps ( token_payload ) ,
72+ token_info = requests .post (token_url , json = token_payload ,
6773 headers = json_header ).json ()
68- user_url = 'https://{auth0_domain}/userinfo?access_token={access_token}' .format (
69- auth0_domain = env [constants .AUTH0_DOMAIN ], access_token = token_info [constants .ACCESS_TOKEN_KEY ])
74+
75+ user_url = 'https://{auth0_domain}/userinfo?access_token={access_token}' \
76+ .format (auth0_domain = env [constants .AUTH0_DOMAIN ],
77+ access_token = token_info [constants .ACCESS_TOKEN_KEY ])
78+
7079 user_info = requests .get (user_url ).json ()
7180 session [constants .PROFILE_KEY ] = user_info
7281 return redirect ('/dashboard' )
7382
7483if __name__ == "__main__" :
75- app .run (host = '0.0.0.0' , port = int ( os .environ .get ('PORT' , 3000 ) ))
84+ app .run (host = '0.0.0.0' , port = os .environ .get ('PORT' , 3000 ))
0 commit comments