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


Python security.gen_salt函数代码示例

本文整理汇总了Python中werkzeug.security.gen_salt函数的典型用法代码示例。如果您正苦于以下问题:Python gen_salt函数的具体用法?Python gen_salt怎么用?Python gen_salt使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: register

def register():
    current_user = User.getCurrentUser()
    if current_user is None:
        return redirect(url_for('frontend.index'))

    if request.method == 'GET':
        return render_template('app/register.html')

    elif request.method == 'POST':
        req_fields = ['name', 'host_url', 'redirect_uris', 'scopes']
        for field in req_fields:
            if not request.form.get(field):
                abort(404)

        new_app = Client(
            id=gen_salt(40),
            client_secret=gen_salt(50),
            name=request.form.get('name'),
            description=request.form.get('desc'),
            user_id=current_user.id,
            _host_url=request.form.get('host_url'),
            _redirect_uris=urlnorm(request.form.get('redirect_uris')),
            _default_scopes=' '.join(request.form.get('scopes').split(',')),
            _is_private=False
        )
        new_app.persist()

        return redirect(url_for('user.myApps'))
开发者ID:anhsirksai,项目名称:swtstore,代码行数:28,代码来源:app.py

示例2: client

def client():
    user = current_user()
    if not user:
        # session['id'] = 1  # temporary decision
        return redirect(url_for('register'))

    item = Client(
        client_id=gen_salt(40),
        client_secret=gen_salt(50),
        _redirect_uris=' '.join([
            '%s/%s' % (settings.BASE_URL, 'authorized'),
            'http://localhost:8000/authorized',
            'http://127.0.0.1:8000/authorized',
            'http://127.0.1:8000/authorized',
            'http://127.1:8000/authorized',
            ]),
        _default_scopes='email',
        user_id=session['id'],
    )

    db.session.add(item)
    db.session.commit()

    return jsonify(
        client_id=item.client_id,
        client_secret=item.client_secret,
    )
开发者ID:pr0d1gy-,项目名称:kulesh,代码行数:27,代码来源:client.py

示例3: __init__

 def __init__(self, user, redirect_uris, realms, client_key=None, client_secret=None):
     assert isinstance(user, User), "user = {!r}, of type {}".format(user, type(user))
     self.user = user
     self.redirect_uris = redirect_uris
     self.client_key = client_key or gen_salt(30)
     self.client_secret = client_secret or gen_salt(40)
     self.realms = list(realms)
开发者ID:easoncxz,项目名称:flask_oauthlib_provider_example,代码行数:7,代码来源:models.py

示例4: add_client

def add_client():
    if request.method == 'POST':
        user = current_user()
        scopes = 'general'

        if user['authority'] == 'Admin':
            scopes = 'general inhabitant admin'
        elif user['authority'] == 'Inhabitant':
            scopes = 'general inhabitant'

        client = Client(
            name = request.form['name'],
            client_id = gen_salt(40),
            client_secret = gen_salt(50),
            user_id = current_user()['id'],
            raw_redirect_uris = request.form['redirect_uri'],
            raw_default_scopes=scopes,
        )

        db.session.add(client)
        db.session.commit()
    else:
        return render_template('add_client.html')

    return redirect(url_for('clients'))
开发者ID:kwzrhouse,项目名称:api.kwzrhouse.net,代码行数:25,代码来源:app.py

示例5: challenge

def challenge():
  uuid = request.args.get('uuid')
  session = ws.hashlib.sha256(SESSION_SECRET + uuid).hexdigest()
  session_challenge = session + "_challenge"
  session_pow_challenge = session + "_pow_challenge"

  if session_pow_challenge in session_store:
    session_store.delete(session_pow_challenge)

  if session_challenge in session_store:
    session_store.delete(session_challenge)

  salt = ws.hashlib.sha256(SERVER_SECRET + uuid).hexdigest()
  pow_challenge = ws.gen_salt(32)
  challenge = ws.gen_salt(32)

  session_store.put(session_pow_challenge, pow_challenge)
  session_store.put(session_challenge, challenge)
  print session_challenge
  response = {
      'salt': salt,
      'pow_challenge': pow_challenge,
      'challenge': challenge
  }

  return jsonify(response)
开发者ID:OferE,项目名称:omniwallet,代码行数:26,代码来源:user_service.py

示例6: generate_api_token

 def generate_api_token(self):
     token = security.gen_salt(40)
     while Account.query.filter_by(api_token=token).count():
         token = security.gen_salt(40)
     self.api_token = token
     self.save()
     return self
开发者ID:jimmy0000,项目名称:Gather,代码行数:7,代码来源:models.py

示例7: test_auth

def test_auth():
    """
    A route for authenticating a user (OAuth), for testing.
    """
    user_id = request.form['id']

    client = Client(
        client_id=gen_salt(40),
        client_secret=gen_salt(50),
        _redirect_uris='http://localhost:5000/authorized',
        _default_scopes='userinfo',
        _allowed_grant_types='authorization_code refresh_token',
        user_id=user_id,
    )
    db.session.add(client)

    token = Token(
        access_token=gen_salt(40),
        refresh_token=gen_salt(40),
        token_type='authorization_code',
        _scopes='userinfo',
        expires=datetime.max,
        client_id=client.client_id,
        user_id=user_id
    )
    db.session.add(token)
    db.session.commit()
    return jsonify(token=token.access_token)
开发者ID:publicscience,项目名称:argos,代码行数:28,代码来源:helpers.py

示例8: challenge

def challenge():
  validate_uuid = UUID(request.args.get('uuid'))
  uuid = str(validate_uuid)
  session = ws.hashlib.sha256(config.SESSION_SECRET + uuid).hexdigest()
  salt = ws.hashlib.sha256(config.SERVER_SECRET + uuid).hexdigest()
  pow_challenge = ws.gen_salt(32)
  challenge = ws.gen_salt(32)

  if config.LOCALDEVBYPASSDB:
    session_challenge = session + "_challenge"
    session_pow_challenge = session + "_pow_challenge"

    if session_pow_challenge in session_store:
      session_store.delete(session_pow_challenge)

    if session_challenge in session_store:
      session_store.delete(session_challenge)

    session_store.put(session_pow_challenge, pow_challenge)
    session_store.put(session_challenge, challenge)
  else:
    dbExecute("with upsert as (update sessions set challenge=%s, pchallenge=%s, timestamp=DEFAULT where sessionid=%s returning *) "
              "insert into sessions (sessionid, challenge, pchallenge) select %s,%s,%s where not exists (select * from upsert)", 
              (challenge, pow_challenge, session, session, challenge, pow_challenge))
    dbCommit()
    
  response = {
      'salt': salt,
      'pow_challenge': pow_challenge,
      'challenge': challenge
  }

  return jsonify(response)
开发者ID:DivvyDAO,项目名称:omniwallet,代码行数:33,代码来源:user_service.py

示例9: register

def register():
	logger.debug(" in register session[id] is %s", session['id'])
	user = current_user()
	
	if request.method == 'GET':
		return render_template('register.html', user=user)
	if request.method == 'POST':
		applicationName = request.form.get('applicationName')
		applicationUrl = request.form.get('applicationUrl')
		applcationDescription=request.form.get('applcationDescription')
		applicationCallbackUrl=request.form.get('applicationCallbackUrl')
		userId=request.form.get('userId')
		item = Client(
        client_id=gen_salt(40),
        client_secret=gen_salt(50),
        application_name=applicationName,
        application_url=applicationUrl,
        _redirect_uris=' '.join([
        	applicationCallbackUrl,
            ]),
        _default_scopes='email',
        user_id=userId,
    	)
		from pprint import pprint
		pprint (vars(item))
        db.session.add(item)
        db.session.commit()
        
    	return jsonify(
        client_id=item.client_id,
        client_secret=item.client_secret,
        )
开发者ID:annieweng,项目名称:oauth2-server,代码行数:32,代码来源:app.py

示例10: get

    def get(self, *args, **kwargs):
        user = self.current_user()

        if not user:
            return self.redirect_view('home')

        client = models.Client(
            client_id=gen_salt(40),
            client_secret=gen_salt(50),
            _redirect_uris=' '.join([
                'http://localhost:8000/authorized/',
                'http://127.0.0.1:8000/authorized/',
                'http://127.0.1:8000/authorized/',
                'http://127.1:8000/authorized/',
            ]),
            _default_scopes='email',
            user_id=user.id,
        )

        db.session.add(client)
        db.session.commit()

        return self.jsonify({
            'client_id': client.client_id,
            'client_secret': client.client_secret,
        })
开发者ID:joanfont,项目名称:oauth-demo-server,代码行数:26,代码来源:views.py

示例11: createAccessToken

 def createAccessToken(self, SESSION):
     '''
     Creates an access token for this client.
     '''
     token = gen_salt(25)
     secret = gen_salt(25)
     return AccessToken(self, self.user, token, secret, self._realms)    
开发者ID:collinmelton,项目名称:DDCloudServer,代码行数:7,代码来源:Oauth.py

示例12: client

def client():
    """
    This endpoint creates and provides the authenticated user with
    ``client_id`` and ``client_secret``.
    """
    if not current_user.is_authenticated:
        return api.abort(code=http_exceptions.Unauthorized.code)
    # XXX: remove hard-codings
    # TODO: reconsider using gen_salt
    # TODO: develop sensible scopes
    # TODO: consider moving `db` operations into OAuth2Client class implementation
    client_instance = OAuth2Client(
        client_id=security.gen_salt(40),
        client_secret=security.gen_salt(50),
        _redirect_uris=" ".join(
            [
                "http://localhost:8000/authorized",
                "http://127.0.0.1:8000/authorized",
                "http://127.0.0.1:5000/api/v1/o2c.html",
                "http://127.0.0.2:8000/authorized",
                "http://127.0.1:8000/authorized",
                "http://127.1:8000/authorized",
            ]
        ),
        _default_scopes="users:read users:write email",
        user_id=current_user.id,
    )
    db.session.add(client_instance)
    db.session.commit()
    return jsonify(client_id=client_instance.client_id, client_secret=client_instance.client_secret)
开发者ID:1oomis,项目名称:flask-restplus-server-example,代码行数:30,代码来源:views.py

示例13: bootstrap_user

    def bootstrap_user():
        """
        Return or create a OAuthClient owned by the authenticated real user.
        Re-uses an existing client if "oauth_client" is found in the database
        for this user, otherwise writes a new client to the database.

        Similar logic performed for the OAuthToken.

        :return: OAuthToken instance
        """
        assert current_user.email != current_app.config['BOOTSTRAP_USER_EMAIL']

        uid = current_user.get_id()
        client_name = current_app.config.get('BOOTSTRAP_CLIENT_NAME', 'BB client')

        client = OAuthClient.query.filter_by(
            user_id=uid,
            name=client_name,
        ).first()

        if client is None:
            scopes = ' '.join(current_app.config['USER_DEFAULT_SCOPES'])
            salt_length = current_app.config.get('OAUTH2_CLIENT_ID_SALT_LEN', 40)
            client = OAuthClient(
                user_id=current_user.get_id(),
                name=client_name,
                description=client_name,
                is_confidential=True,
                is_internal=True,
                _default_scopes=scopes,
            )
            client.gen_salt()
            db.session.add(client)

            token = OAuthToken(
                client_id=client.client_id,
                user_id=uid,
                access_token=gen_salt(salt_length),
                refresh_token=gen_salt(salt_length),
                expires=datetime.datetime(2500, 1, 1),
                _scopes=scopes,
                is_personal=False,
                is_internal=True,
            )
            db.session.add(token)
            db.session.commit()
            current_app.logger.info(
                "Created BB client for {email}".format(email=current_user.email)
            )
        else:
            token = OAuthToken.query.filter_by(
                client_id=client.client_id,
                user_id=current_user.get_id(),
            ).first()

        return client, token
开发者ID:jonnybazookatone,项目名称:adsws,代码行数:56,代码来源:views.py

示例14: client

def client():
    item = Client(
            client_id=gen_salt(40),
            client_secret=gen_salt(50),
            _redirect_uris='/',
            is_confidential=True
    )
    db.session.add(item)
    db.session.commit()
    return make_response(json.dumps(item.dict()), 200)
开发者ID:SNET-Entrance,项目名称:Entrance-KEX,代码行数:10,代码来源:oauth.py

示例15: generate

    def generate(redirect_uris):

        item = Client(
            client_id=gen_salt(40),
            client_secret=gen_salt(50),
            _redirect_uris=" ".join(redirect_uris),
            _default_scopes="email",
            user_id=None,
        )
        item.save()
开发者ID:yakinaround,项目名称:myadventure-api,代码行数:10,代码来源:models.py


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