docs: def fromExpiresIn(cls, expires_in, handle, secret, assoc_type):
          """
          This is an alternate constructor used by the OpenID consumer
          library to create associations.  C{L{OpenIDStore
          <openid.store.interface.OpenIDStore>}} implementations
          shouldn't use this constructor.
  
  
          @param expires_in: This is the amount of time this association
              is good for, measured in seconds since the association was
              issued.
  
          @type expires_in: C{int}
  
  
          @param handle: This is the handle the server gave this
              association.
  
          @type handle: C{str}
  
  
          @param secret: This is the shared secret the server generated
              for this association.
  
          @type secret: C{str}
  
  
          @param assoc_type: This is the type of association this
              instance represents.  The only valid value of this field
              at this time is C{'HMAC-SHA1'}, but new types may be
              defined in the future.
  
          @type assoc_type: C{str}
          """
          issued = int(time.time())
          lifetime = expires_in
          return cls(handle, secret, issued, lifetime, assoc_type)