• 
      

    Change the default client token expiration from None to the value set in the site config.

    Review Request #13410 — Created Nov. 8, 2023 and submitted

    Information

    Review Board
    release-5.0.x

    Reviewers

    Previously, the WebAPITokens.objects.get_or_create_client_token would create
    client tokens with no expiration date by default. In most cases, we want to
    create client tokens with the client_token_expiration value set in the site
    configuration (e.g. 1 year from now). Instead of carrying around the logic for
    this to multiple areas, this change makes this value the default expiration
    for WebAPITokens.objects.get_or_create_client_token.

    • Tested creating client/using client tokens with RBTool's login.
    • Ran unit tests.
    Summary ID
    Change the default client token expiration from None to the value set in
    the site config.
    4e6132d1dddbce11fc47b265d87c1bbea0fd2e32
    Description From Last Updated

    This approach definitely works, but I wonder if it might make sense to use some of the new symbol support …

    chipx86chipx86
    david
    1. Ship It!
    2. 
        
    chipx86
    1. 
        
    2. reviewboard/webapi/managers.py (Diff revision 1)
       
       
       
       
       
       
      Show all issues

      This approach definitely works, but I wonder if it might make sense to use some of the new symbol support in Djblets. We'd want to backport some of the stuff in Djblets 4 to 3.4, but in Djblets 4, we have djblets.util.symbols with Unsettable[...] and UNSET, so you can do:

      expires: Unsettable[Optional[datetime.datetime]] = UNSET
      

      This has the advantage of having a clearly-defined, documented, doc-generated value that differs from a None and can't be confused with any other value.

      If that approach works for you, feel free to backport commit 0b0f0de79.

      1. Ah this is exactly the type of thing I was looking for. Thanks, I'll go ahead with this approach.

    3. 
        
    maubin
    david
    1. Ship It!
    2. 
        
    chipx86
    1. Ship It!
    2. 
        
    maubin
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-5.0.x (38203c0)