Skip to content

Commit 7289827

Browse files
committed
Raise OAuthStateMissingError if OAuth state not in session
1 parent b218f30 commit 7289827

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

plain-oauth/plain/oauth/exceptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class OAuthError(Exception):
55

66

77
class OAuthStateMissingError(OAuthError):
8-
message = "The state parameter is missing. Please try again."
8+
message = "The OAuth state is missing. Your session may have expired or cookies may be blocked. Please try again."
99

1010

1111
class OAuthStateMismatchError(OAuthError):

plain-oauth/plain/oauth/providers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ def check_request_state(self, *, request: Request) -> None:
114114
raise OAuthStateMissingError() from e
115115

116116
session = get_request_session(request)
117+
if SESSION_STATE_KEY not in session:
118+
raise OAuthStateMissingError()
117119
expected_state = session.pop(SESSION_STATE_KEY)
118120
session.save() # Make sure the pop is saved (won't save on an exception)
119121
if not secrets.compare_digest(state, expected_state):

0 commit comments

Comments
 (0)