当前位置: 首页>>代码示例>>Python>>正文


Python itsdangerous.URLSafeTimedSerializer方法代码示例

本文整理汇总了Python中itsdangerous.URLSafeTimedSerializer方法的典型用法代码示例。如果您正苦于以下问题:Python itsdangerous.URLSafeTimedSerializer方法的具体用法?Python itsdangerous.URLSafeTimedSerializer怎么用?Python itsdangerous.URLSafeTimedSerializer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在itsdangerous的用法示例。


在下文中一共展示了itsdangerous.URLSafeTimedSerializer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_session

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def get_session(response):
    """ Return session cookie contents.
    This a base64 encoded json.
    Returns a dict
    """

    # Alas seems like if there are multiple set-cookie headers - we are on our own
    for index, h in enumerate(response.headers):
        if h[0] == "Set-Cookie":
            cookie = parse_cookie(response.headers[index][1])
            encoded_cookie = cookie.get("session", None)
            if encoded_cookie:
                serializer = URLSafeTimedSerializer(
                    "secret", serializer=TaggedJSONSerializer()
                )
                val = serializer.loads_unsafe(encoded_cookie)
                return val[1] 
开发者ID:Flask-Middleware,项目名称:flask-security,代码行数:19,代码来源:test_utils.py

示例2: get_serializer

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def get_serializer(secret: str, legacy: bool, salt: str) -> URLSafeTimedSerializer:
    """
    Get a (cached) serializer instance
    :param secret: Secret key
    :param salt: Salt
    :param legacy: Should the legacy timestamp generator be used?
    :return: Flask session serializer
    """
    if legacy:
        signer = LegacyTimestampSigner
    else:
        signer = TimestampSigner

    return URLSafeTimedSerializer(
        secret_key=secret,
        salt=salt,
        serializer=TaggedJSONSerializer(),
        signer=signer,
        signer_kwargs={
            'key_derivation': 'hmac',
            'digest_method': hashlib.sha1}) 
开发者ID:Paradoxis,项目名称:Flask-Unsign,代码行数:23,代码来源:session.py

示例3: send_password_reset_email

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def send_password_reset_email(user_email):
    password_reset_serializer = URLSafeTimedSerializer(app.config['SECRET_KEY'])

    password_reset_url = url_for(
        'users.reset_with_token',
        token=password_reset_serializer.dumps(user_email, salt='password-reset-salt'),
        _external=True)

    html = render_template(
        'email_password_reset.html',
        password_reset_url=password_reset_url)

    send_email('Password Reset Requested', [user_email], html)


# ROUTES 
开发者ID:jelmerdejong,项目名称:flask-app-blueprint,代码行数:18,代码来源:views.py

示例4: get_signing_serializer

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def get_signing_serializer(self, app: "Quart") -> Optional[URLSafeTimedSerializer]:
        """Return a serializer for the session that also signs data.

        This will return None if the app is not configured for secrets.
        """
        if not app.secret_key:
            return None

        options = {"key_derivation": self.key_derivation, "digest_method": self.digest_method}
        return URLSafeTimedSerializer(
            app.secret_key, salt=self.salt, serializer=self.serializer, signer_kwargs=options
        ) 
开发者ID:pgjones,项目名称:quart,代码行数:14,代码来源:sessions.py

示例5: get_signing_serializer

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def get_signing_serializer(self, app):
        if not app.secret_key:
            return None
        signer_kwargs = dict(
            key_derivation=self.key_derivation,
            digest_method=self.digest_method
        )
        return URLSafeTimedSerializer(app.secret_key, salt=self.salt,
                                      serializer=self.serializer,
                                      signer_kwargs=signer_kwargs) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:12,代码来源:sessions.py

示例6: get_serializer

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def get_serializer():
    global serializer
    if serializer is None:
        serializer = URLSafeTimedSerializer(settings.load()['database']['crypto']['key'])
    return serializer 
开发者ID:mitre,项目名称:cascade-server,代码行数:7,代码来源:users.py

示例7: generate_confirmation_token

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def generate_confirmation_token(config, email):
    """generate confirmation token using user's email via itsdangerous"""
    serializer = URLSafeTimedSerializer(config['SECRET_KEY'])
    return serializer.dumps(email, salt=config['EMAIL']['salt']) 
开发者ID:DoubleCiti,项目名称:daimaduan.com,代码行数:6,代码来源:email_confirmation.py

示例8: validate_token

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def validate_token(config, token, expire_time=3600):
    """from token and expire_time to confirm user's email"""
    serializer = URLSafeTimedSerializer(config['SECRET_KEY'])
    try:
        confirmed_email = serializer.loads(token, max_age=expire_time, salt=config['EMAIL']['salt'])
    except Exception:
        return False
    return confirmed_email 
开发者ID:DoubleCiti,项目名称:daimaduan.com,代码行数:10,代码来源:email_confirmation.py

示例9: _get_serializer

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def _get_serializer(app, name):
    secret_key = app.config.get("SECRET_KEY")
    salt = app.config.get("SECURITY_%s_SALT" % name.upper())
    return URLSafeTimedSerializer(secret_key=secret_key, salt=salt) 
开发者ID:Flask-Middleware,项目名称:flask-security,代码行数:6,代码来源:core.py

示例10: generate_csrf

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def generate_csrf(secret_key=None, token_key=None):
    """Generate a CSRF token. The token is cached for a request, so multiple
    calls to this function will generate the same token.

    During testing, it might be useful to access the signed token in
    ``g.csrf_token`` and the raw token in ``session['csrf_token']``.

    :param secret_key: Used to securely sign the token. Default is
        ``WTF_CSRF_SECRET_KEY`` or ``SECRET_KEY``.
    :param token_key: Key where token is stored in session for comparision.
        Default is ``WTF_CSRF_FIELD_NAME`` or ``'csrf_token'``.
    """

    secret_key = _get_config(
        secret_key, 'WTF_CSRF_SECRET_KEY', current_app.secret_key,
        message='A secret key is required to use CSRF.'
    )
    field_name = _get_config(
        token_key, 'WTF_CSRF_FIELD_NAME', 'csrf_token',
        message='A field name is required to use CSRF.'
    )

    if field_name not in g:
        if field_name not in session:
            session[field_name] = hashlib.sha1(os.urandom(64)).hexdigest()

        s = URLSafeTimedSerializer(secret_key, salt='wtf-csrf-token')
        setattr(g, field_name, s.dumps(session[field_name]))

    return g.get(field_name) 
开发者ID:liantian-cn,项目名称:RSSNewsGAE,代码行数:32,代码来源:csrf.py

示例11: create_unique_url

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def create_unique_url(payload, salt=None):
    config = SiteConfiguration.get_solo()
    salt = config.salt if salt is None else salt
    s = URLSafeTimedSerializer(settings.SECRET_KEY, salt=salt)
    token = s.dumps(payload)
    return reverse('unique_link', kwargs={'token': token}), token 
开发者ID:tejoesperanto,项目名称:pasportaservo,代码行数:8,代码来源:utils.py

示例12: generate_confirmation_token

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def generate_confirmation_token(email):
    serializer = URLSafeTimedSerializer(current_app.config['SECRET_KEY'])
    return serializer.dumps(email, salt=current_app.config['SECURITY_PASSWORD_SALT']) 
开发者ID:MacroConnections,项目名称:DIVE-backend,代码行数:5,代码来源:token.py

示例13: confirm_token

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def confirm_token(token, expiration=3600):
    serializer = URLSafeTimedSerializer(current_app.config['SECRET_KEY'])
    try:
        email = serializer.loads(
            token,
            salt=current_app.config['SECURITY_PASSWORD_SALT'],
            max_age=expiration
        )
    except:
        return False
    return email 
开发者ID:MacroConnections,项目名称:DIVE-backend,代码行数:13,代码来源:token.py

示例14: get_state

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def get_state(self):
        serializer = URLSafeTimedSerializer(settings.SECRET_KEY)

        return serializer.dumps(self.get_local_netloc()) 
开发者ID:forcemain,项目名称:notes,代码行数:6,代码来源:weixin_user.py

示例15: verify_weixin_state

# 需要导入模块: import itsdangerous [as 别名]
# 或者: from itsdangerous import URLSafeTimedSerializer [as 别名]
def verify_weixin_state(self):
        state = self.get_weixin_state()
        try:
            serializer = URLSafeTimedSerializer(settings.SECRET_KEY)
            return serializer.loads(state) == self.get_local_netloc()
        except BadData:
            return False 
开发者ID:forcemain,项目名称:notes,代码行数:9,代码来源:weixin_user.py


注:本文中的itsdangerous.URLSafeTimedSerializer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。