Skip to content

Commit ae9b3e1

Browse files
committed
dull the edges here
a few sharp edges in GH auth return... should error gracefully
1 parent ad8ca9b commit ae9b3e1

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

github_auth/views.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,20 @@ def github_login(request):
2323

2424
def github_callback(request):
2525
data = request.GET
26-
code = data["code"]
27-
state = data["state"]
26+
code = data.get("code")
27+
state = data.get("state")
28+
29+
if code is None or state is None:
30+
request.session.pop("state", None)
31+
messages.add_message(request, messages.ERROR, "Incomplete authorization provided!")
32+
return HttpResponseRedirect("/")
2833

2934
if state != request.session.get("state"):
30-
del request.session["state"]
35+
request.session.pop("state", None)
3136
messages.add_message(request, messages.ERROR, "State information mismatch!")
3237
return HttpResponseRedirect("/")
3338
else:
34-
del request.session["state"]
39+
request.session.pop("state", None)
3540

3641
client = WebApplicationClient(settings.GITHUB_OAUTH_APPLICATION_ID)
3742
data = client.prepare_request_body(

0 commit comments

Comments
 (0)