'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}'

def fromExpiresIn(cls, expires_in, handle, secret, assoc_type):

    issued = int(time.time())
    lifetime = expires_in
    return cls(handle, secret, issued, lifetime, assoc_type)
