예제 #1
0
    def post(self):
        current = get_jwt_identity()
        access_token = create_access_token(identity=current)
        access_jti = get_jti(encoded_token=access_token)
        db.set("z:tokens:{jti}".format(jti=access_jti), "false",
               current_app.config.get("ACCESS_EXPIRES") * 1.2)

        return jsonify({"msg": "ok", "access_token": access_token})
예제 #2
0
파일: lib.py 프로젝트: Showfom/iwho.is
def get_real_whois_domain(domain):
    """docstring for get_real_whois_domain"""
    server = WHOIS_SERVER.get(domain.suffix, '')
    res = pythonwhois.net.get_whois_raw(domain.registered_domain, server=server,
            never_cut=False)
    res.reverse()
    res = convert_newline('\n'.join(res))
    db.set(REDIS_KEY_DOMAIN % domain.registered_domain, res)
    return res
예제 #3
0
파일: models.py 프로젝트: kotnik/sharescan
    def add(cls, ip):
        created = "%s" % now()
        new_ip = cls(ip=ip, created=created)

        if db.sismember("ips", ip):
            raise BadRequest("IP address %s already registered" % ip)
        db.sadd("ips", ip)
        db.set("ip:%s" % ip, json.dumps({"created": created}))

        return new_ip
예제 #4
0
def init_wechat_sdk():
    """
    初始化微信sdk
    :return: WechatBasic
    """
    access_token = db.get("wechat:access_token")
    jsapi_ticket = db.get("wechat:jsapi_ticket")
    token_expires_at = db.get("wechat:access_token_expires_at")
    ticket_expires_at = db.get("wechat:jsapi_ticket_expires_at")
    if all((access_token, jsapi_ticket, token_expires_at, ticket_expires_at)):
        wechat = WechatBasic(appid=app.config['APP_ID'],
                             appsecret=app.config['APP_SECRET'],
                             token=app.config['TOKEN'],
                             access_token=access_token,
                             access_token_expires_at=int(token_expires_at),
                             jsapi_ticket=jsapi_ticket,
                             jsapi_ticket_expires_at=int(ticket_expires_at))
    else:
        wechat = WechatBasic(appid=app.config['APP_ID'],
                             appsecret=app.config['APP_SECRET'],
                             token=app.config['TOKEN'])
        access_token = wechat.get_access_token()
        db.set("wechat:access_token", access_token['access_token'], 7000)
        db.set("wechat:access_token_expires_at",
                  access_token['access_token_expires_at'], 7000)
        jsapi_ticket = wechat.get_jsapi_ticket()
        db.set("wechat:jsapi_ticket", jsapi_ticket['jsapi_ticket'], 7000)
        db.set("wechat:jsapi_ticket_expires_at",
                  jsapi_ticket['jsapi_ticket_expires_at'], 7000)

    return wechat
예제 #5
0
def save_snapshot(live_analysis_mode, save_button_clicked, ticker,
                  snapshot_uuid, df_dict):
    if 1 in live_analysis_mode:  # generate a fresh UUID
        snapshot_uuid = str(uuid.uuid5(uuid.UUID(snapshot_uuid), ticker))
        if save_button_clicked:
            # df_dict[ticker] = {**df_dict[ticker], **dcf_dict[ticker]}
            if 'analysis_timestamp' in df_dict[ticker][
                    'stats_dict']:  # >= v0.6-alpha.3
                df_dict[ticker]['stats_dict'][
                    'analysis_timestamp'] += f',\n{snapshot_uuid} : Analysis saved @ {datetime.now().strftime("%b %-m %Y %H:%M:%S")}'
            db.set(ticker + '-' + snapshot_uuid, json.dumps(df_dict))
        return '/apps/dcf/' + ticker + '/' + snapshot_uuid, False, not save_button_clicked
    else:
        return dash.no_update, True, True
예제 #6
0
파일: models.py 프로젝트: kotnik/sharescan
    def add(cls, source_ip, destination_ip, result):
        created = "%s" % now()
        new_ip = cls(
            source_ip=source_ip,
            destination_ip=destination_ip,
            result=result,
            created=created
        )

        db.set(
            "result:%s:%s:%s" % (source_ip, destination_ip, time.strftime("%Y%m%d%H%M%S", time.localtime())),
            json.dumps({
                "created": created,
                "source_ip": source_ip,
                "destination_ip": destination_ip,
                "result": result
            })
        )

        return new_ip
예제 #7
0
def update_wechat_token():
    """刷新微信 token """
    wechat = init_wechat_sdk()
    wechat.grant_token()
    wechat.grant_jsapi_ticket()
    access_token = wechat.get_access_token()
    db.set("wechat:access_token", access_token['access_token'], 7000)
    db.set("wechat:access_token_expires_at",
              access_token['access_token_expires_at'], 7000)
    jsapi_ticket = wechat.get_jsapi_ticket()
    db.set("wechat:jsapi_ticket", jsapi_ticket['jsapi_ticket'], 7000)
    db.set("wechat:jsapi_ticket_expires_at",
              jsapi_ticket['jsapi_ticket_expires_at'], 7000)
예제 #8
0
    def login(self, uid, user=None):
        access_token = create_access_token(identity=uid, fresh=True)
        refresh_token = create_refresh_token(identity=uid)
        user = db.hgetall("z:users:{uid}".format(
            uid=uid)) if user == None else user

        # store tokens in db for security and logout blacklisting
        access_jti = get_jti(encoded_token=access_token)
        refresh_jti = get_jti(encoded_token=refresh_token)

        db.set("z:tokens:{jti}".format(jti=access_jti), "false",
               current_app.config.get("ACCESS_EXPIRES") * 1.2)
        db.set("z:tokens:{jti}".format(jti=refresh_jti), "false",
               current_app.config.get("REFRESH_EXPIRES") * 1.2)

        return jsonify(
            merge_dict(
                filter_dict(user, self.exposedFields), {
                    "msg": "ok",
                    "access_token": access_token,
                    "refresh_token": refresh_token,
                    "uid": uid
                }))
예제 #9
0
파일: lib.py 프로젝트: Showfom/iwho.is
def get_real_whois_ip(ip):
    """docstring for get_real_whois_ip"""
    ip = ipwhois.IPWhois(ip)
    res = convert_newline(ip.lookup(inc_raw=True)['raw'])
    db.set(REDIS_KEY_IP % ip, res)
    return res
예제 #10
0
 def delete(self):
     jti = get_raw_jwt()['jti']
     db.set("z:tokens:{jti}".format(jti=jti), "true",
            current_app.config.get("REFRESH_EXPIRES") * 1.2)
     return jsonify({"msg": "refresh token revoked"})