Git Product home page Git Product logo

Comments (2)

fnep avatar fnep commented on August 23, 2024

I just implemented this in a way i could use it for now. May be you want to pull it.

Usage example:

>>> import time
>>> import datetime
>>> import itsdangerous

>>> # calculate my expiry time
>>> expiry_time = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)

>>> # generate code and include my expiry time
>>> serializer = itsdangerous.URLSafeTimedSerializer('password', salt='soup')
>>> code = serializer.dumps('sharingcode', moment=expiry_time)

>>> # generated code
>>> code
'InNoYXJpbmdjb2RlIg.B1h0cQ.essqAawsTQl9WbxlK4Kzb3c3CAE'

>>> # wait a minute
>>> time.sleep(60)

>>> # value for reference
>>> serializer.loads(code, max_age=0)
u'sharingcode'

>>> # wait another 4 minutes (+1 second)
>>> time.sleep(241)

>>> # try it again, define max_age=0
>>> serializer.loads(code, max_age=0)
Traceback (most recent call last):
  File "<ipython-input-18-83b1842ba2eb>", line 1, in <module>
    serializer.loads(code, max_age=0)
  File "itsdangerous.py", line 667, in loads
    .unsign(s, max_age, return_timestamp=True)
  File "itsdangerous.py", line 470, in unsign
    date_signed=self.timestamp_to_datetime(timestamp))
SignatureExpired: Signature age 1 > 0 seconds

from itsdangerous.

davidism avatar davidism commented on August 23, 2024

This is a good case for writing your own Serializer subclass.

from itsdangerous.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.