@@ -193,6 +193,9 @@ async def get_current_user_with_groups(
193193
194194
195195def autogenerated_user_token_check (request : Request ) -> bool :
196+ """
197+ Checks installation token header for autogenerated user access.
198+ """
196199 if BOT_INSTALLATION_TOKEN is None :
197200 raise ValueError ("BOT_INSTALLATION_TOKEN environment variable must be set" )
198201
@@ -224,17 +227,18 @@ async def get_current_user_or_installation(
224227 """
225228 Allow access if Bugout installation token provided, if not
226229 check user by default.
230+
231+ Because of oauth2_scheme_manual we could accept None bearer token.
227232 """
228- token = oauth2 [0 ]
229233 scheme = oauth2 [1 ]
230- if scheme != "bearer" :
234+ if scheme != "bearer" and scheme is not None :
231235 raise HTTPException (status_code = 400 , detail = "Unaccepted scheme" )
232236
233237 autogenerated_user = autogenerated_user_token_check (request )
234238 if autogenerated_user is True :
235239 return True
236240 elif autogenerated_user is False :
237- user = await get_current_user (token , db_session )
241+ user = await get_current_user (oauth2 , db_session )
238242 return user
239243
240244 raise HTTPException (status_code = 400 , detail = "Access denied" )
@@ -247,17 +251,18 @@ async def is_token_restricted_or_installation(
247251) -> bool :
248252 """
249253 Allow access if Bugout installation provided.
254+
255+ Because of oauth2_scheme_manual we could accept None bearer token.
250256 """
251- token = oauth2 [0 ]
252257 scheme = oauth2 [1 ]
253- if scheme != "bearer" :
258+ if scheme != "bearer" and scheme is not None :
254259 raise HTTPException (status_code = 400 , detail = "Unaccepted scheme" )
255260
256261 autogenerated_user = autogenerated_user_token_check (request )
257262 if autogenerated_user is True :
258263 return False # Return token.restricted = False
259264 elif autogenerated_user is False :
260- token_restricted = await is_token_restricted (token , db_session )
265+ token_restricted = await is_token_restricted (oauth2 , db_session )
261266 return token_restricted
262267
263268 raise HTTPException (status_code = 400 , detail = "Access denied" )
0 commit comments