@@ -119,78 +119,79 @@ def login():
119
119
user_agent = request .headers .get ('User-Agent' )
120
120
postman_notebook_request = utils .check_non_web_user_agent (user_agent )
121
121
user = get_identity_if_logedin ()
122
- asset_registry = True
123
- if request .method == 'POST' :
124
- try :
125
- data = request .json
126
- asset_registry = data .get ('asset_registry' , False )
127
- except BadRequest :
128
- asset_registry = False
129
122
if user :
130
123
if not postman_notebook_request :
131
124
return redirect (app .config ['DEVELOPMENT_BASE_URL' ] + '/home' )
132
125
elif postman_notebook_request :
133
126
return jsonify ({'message' : 'Already logged in' })
134
127
128
+ asset_registry = False
135
129
# this will run if website form request
136
130
form = LoginForm ()
137
131
# next url for redirecting after login
138
132
next_url = form .next .data
139
- if form .validate_on_submit ():
133
+ if request .headers .get ('X-ASSET-REGISTRY' ) == 'True' :
134
+ asset_registry = True
135
+ email = request .headers .get ('X-EMAIL' )
136
+ password = request .headers .get ('X-PASSWORD' )
137
+ elif form .validate_on_submit ():
140
138
email = form .email .data
141
139
password = form .password .data
140
+
141
+
142
+ if not asset_registry and form .validate_on_submit () or asset_registry :
142
143
user = userModel .User .query \
143
144
.filter_by (email = email ) \
144
145
.first ()
145
-
146
146
if not user :
147
147
msg = 'You are not registered'
148
148
flash (message = msg , category = 'danger' )
149
149
elif is_blacklisted (email ):
150
150
msg = f'"{ email } " is blacklisted'
151
151
flash (message = msg , category = 'danger' )
152
+
153
+ # set global flag for user activation accordingly
154
+ if not user .activated :
155
+ app .is_user_activated = False
152
156
else :
153
- # set global flag for user activation accordingly
154
- if not user .activated :
155
- app .is_user_activated = False
157
+ app .is_user_activated = True
158
+
159
+ if check_password_hash (user .password , password ):
160
+ # generates the JWT Token
161
+ additional_claims = {"domain" : email .split ('@' )[1 ], "is_activated" : user .activated }
162
+ access_token = create_access_token (identity = user .id , additional_claims = additional_claims )
163
+ refresh_token = create_refresh_token (identity = user .id )
164
+ tokens = {'Authorization' : 'Bearer ' + access_token , 'X-Refresh-Token' : refresh_token }
165
+ if not asset_registry :
166
+ try :
167
+ requests .get (app .config ['ASSET_REGISTRY_BASE_URL' ], headers = tokens )
168
+ except Exception as e :
169
+ return jsonify ({
170
+ 'message' : 'Fetch Session Cookies Error!' ,
171
+ 'error' : f'{ e } '
172
+ }), 400
173
+ if not asset_registry and next_url != 'None' :
174
+ resp = make_response (redirect (next_url ))
175
+ elif not asset_registry :
176
+ resp = make_response (redirect (app .config ['DEVELOPMENT_BASE_URL' ] + '/home' ))
156
177
else :
157
- app .is_user_activated = True
158
- if check_password_hash (user .password , password ):
159
- # generates the JWT Token
160
- additional_claims = {"domain" : email .split ('@' )[1 ], "is_activated" : user .activated }
161
- access_token = create_access_token (identity = user .id , additional_claims = additional_claims )
162
- refresh_token = create_refresh_token (identity = user .id )
163
- tokens = {'Authorization' : 'Bearer ' + access_token , 'X-Refresh-Token' : refresh_token }
164
- if not asset_registry :
165
- try :
166
- requests .get (app .config ['ASSET_REGISTRY_BASE_URL' ], headers = tokens )
167
- except Exception as e :
168
- return jsonify ({
169
- 'message' : 'Fetch Session Cookies Error!' ,
170
- 'error' : f'{ e } '
171
- }), 400
172
- if not asset_registry and next_url != 'None' :
173
- resp = make_response (redirect (next_url ))
174
- elif not asset_registry :
175
- resp = make_response (redirect (app .config ['DEVELOPMENT_BASE_URL' ] + '/home' ))
176
- else :
177
- resp = make_response (jsonify ({'access_token' : access_token , 'refresh_token' : refresh_token }))
178
- user .access_token = access_token
179
- user .refresh_token = refresh_token
180
- db .session .commit ()
181
- if not asset_registry and postman_notebook_request :
182
- resp = make_response (jsonify ({"access_token" : access_token , "refresh_token" : refresh_token }))
183
- resp .set_cookie ('access_token_cookie' , access_token )
184
- resp .set_cookie ('refresh_token_cookie' , refresh_token )
185
- return resp
178
+ resp = make_response (jsonify ({'access_token' : access_token , 'refresh_token' : refresh_token }))
179
+ user .access_token = access_token
180
+ user .refresh_token = refresh_token
181
+ db .session .commit ()
182
+ if not asset_registry and postman_notebook_request :
183
+ resp = make_response (jsonify ({"access_token" : access_token , "refresh_token" : refresh_token }))
186
184
resp .set_cookie ('access_token_cookie' , access_token )
187
185
resp .set_cookie ('refresh_token_cookie' , refresh_token )
188
186
return resp
189
- else :
190
- msg = 'Incorrect Password!'
191
- flash (message = msg , category = 'danger' )
192
- if postman_notebook_request :
193
- return jsonify ({"message" : msg })
187
+ resp .set_cookie ('access_token_cookie' , access_token )
188
+ resp .set_cookie ('refresh_token_cookie' , refresh_token )
189
+ return resp
190
+ else :
191
+ msg = 'Incorrect Password!'
192
+ flash (message = msg , category = 'danger' )
193
+ if postman_notebook_request :
194
+ return jsonify ({"message" : msg })
194
195
return render_template ('login.html' , form = form )
195
196
196
197
0 commit comments