Add type annotations to some of the configuration surrounding refresh tokens. (#11428)

This commit is contained in:
reivilibre 2021-11-29 13:34:14 +00:00 committed by GitHub
parent 9cd13c5f63
commit a82b90ab32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 2 deletions

1
changelog.d/11428.misc Normal file
View File

@ -0,0 +1 @@
Add type annotations to some of the configuration surrounding refresh tokens.

View File

@ -11,6 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from typing import Optional
from synapse.api.constants import RoomCreationPreset from synapse.api.constants import RoomCreationPreset
from synapse.config._base import Config, ConfigError from synapse.config._base import Config, ConfigError
@ -123,12 +124,14 @@ class RegistrationConfig(Config):
refreshable_access_token_lifetime = self.parse_duration( refreshable_access_token_lifetime = self.parse_duration(
refreshable_access_token_lifetime refreshable_access_token_lifetime
) )
self.refreshable_access_token_lifetime = refreshable_access_token_lifetime self.refreshable_access_token_lifetime: Optional[
int
] = refreshable_access_token_lifetime
refresh_token_lifetime = config.get("refresh_token_lifetime") refresh_token_lifetime = config.get("refresh_token_lifetime")
if refresh_token_lifetime is not None: if refresh_token_lifetime is not None:
refresh_token_lifetime = self.parse_duration(refresh_token_lifetime) refresh_token_lifetime = self.parse_duration(refresh_token_lifetime)
self.refresh_token_lifetime = refresh_token_lifetime self.refresh_token_lifetime: Optional[int] = refresh_token_lifetime
# The fallback template used for authenticating using a registration token # The fallback template used for authenticating using a registration token
self.registration_token_template = self.read_template("registration_token.html") self.registration_token_template = self.read_template("registration_token.html")

View File

@ -813,6 +813,11 @@ class RegistrationHandler:
access_token = self.macaroon_gen.generate_guest_access_token(user_id) access_token = self.macaroon_gen.generate_guest_access_token(user_id)
else: else:
if should_issue_refresh_token: if should_issue_refresh_token:
# A refreshable access token lifetime must be configured
# since we're told to issue a refresh token (the caller checks
# that this value is set before setting this flag).
assert self.refreshable_access_token_lifetime is not None
now_ms = self.clock.time_msec() now_ms = self.clock.time_msec()
# Set the expiry time of the refreshable access token # Set the expiry time of the refreshable access token