@@ -349,7 +349,9 @@ class AuthorizationResponse(oauth2.AuthorizationResponse,
349349 # "nonce": SINGLE_OPTIONAL_STRING,
350350 "access_token" : SINGLE_OPTIONAL_STRING ,
351351 "token_type" : SINGLE_OPTIONAL_STRING ,
352- "id_token" : SINGLE_OPTIONAL_IDTOKEN
352+ "id_token" : SINGLE_OPTIONAL_IDTOKEN ,
353+ # Below is REQUIRED if doing session management
354+ "session_state" : SINGLE_OPTIONAL_STRING
353355 })
354356
355357 def verify (self , ** kwargs ):
@@ -607,7 +609,7 @@ class RegistrationRequest(Message):
607609 "post_logout_redirect_uris" : OPTIONAL_LIST_OF_STRINGS ,
608610 "frontchannel_logout_uri" : SINGLE_OPTIONAL_STRING ,
609611 "frontchannel_logout_session_required" : SINGLE_OPTIONAL_BOOLEAN ,
610- "backchannel_logout_supported " : SINGLE_OPTIONAL_BOOLEAN ,
612+ "backchannel_logout_uri " : SINGLE_OPTIONAL_STRING ,
611613 "backchannel_logout_session_supported" : SINGLE_OPTIONAL_BOOLEAN
612614 }
613615 c_default = {"application_type" : "web" , "response_types" : ["code" ]}
@@ -900,7 +902,9 @@ def verify(self, **kwargs):
900902 check_char_set (scope , SCOPE_CHARSET )
901903
902904 parts = urlparse (self ["issuer" ])
903- if parts .scheme != "https" :
905+ if 'allow_http' in kwargs :
906+ pass
907+ elif parts .scheme != "https" :
904908 raise SchemeError ("Not HTTPS" )
905909
906910 if not parts .query and not parts .fragment :
@@ -909,7 +913,7 @@ def verify(self, **kwargs):
909913 raise ValueError ('Issuer ID invalid' )
910914
911915 if any ("code" in rt for rt in self [
912- "response_types_supported" ]) and "token_endpoint" not in self :
916+ "response_types_supported" ]) and "token_endpoint" not in self :
913917 raise MissingRequiredAttribute ("token_endpoint" )
914918
915919 return True
0 commit comments