Skip to content

Commit df6002d

Browse files
authored
Merge pull request #48 from MHA10/AG-57-Login-Logout-AR
AG-57: Updated the call from AR to UR Login.
2 parents 4cb9931 + 524545f commit df6002d

File tree

1 file changed

+47
-46
lines changed

1 file changed

+47
-46
lines changed

app.py

+47-46
Original file line numberDiff line numberDiff line change
@@ -119,78 +119,79 @@ def login():
119119
user_agent = request.headers.get('User-Agent')
120120
postman_notebook_request = utils.check_non_web_user_agent(user_agent)
121121
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
129122
if user:
130123
if not postman_notebook_request:
131124
return redirect(app.config['DEVELOPMENT_BASE_URL'] + '/home')
132125
elif postman_notebook_request:
133126
return jsonify({'message': 'Already logged in'})
134127

128+
asset_registry = False
135129
# this will run if website form request
136130
form = LoginForm()
137131
# next url for redirecting after login
138132
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():
140138
email = form.email.data
141139
password = form.password.data
140+
141+
142+
if not asset_registry and form.validate_on_submit() or asset_registry:
142143
user = userModel.User.query \
143144
.filter_by(email=email) \
144145
.first()
145-
146146
if not user:
147147
msg = 'You are not registered'
148148
flash(message=msg, category='danger')
149149
elif is_blacklisted(email):
150150
msg = f'"{email}" is blacklisted'
151151
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
152156
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'))
156177
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}))
186184
resp.set_cookie('access_token_cookie', access_token)
187185
resp.set_cookie('refresh_token_cookie', refresh_token)
188186
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})
194195
return render_template('login.html', form=form)
195196

196197

0 commit comments

Comments
 (0)