def __create_cookie(settings, userid, expire_in_secs):
    auth_helper = AuthTktCookieHelper(
        secret=settings['auth.policy.secret'],
        cookie_name=settings['auth.policy.cookie_name'],
        hashalg=settings['auth.policy.hashalg'])
    user_data = ''
    encoding_data = auth_helper.userid_type_encoders.get(type(userid))

    if encoding_data:
        encoding, encoder = encoding_data
        userid = encoder(userid)
        user_data = 'userid_type:%s' % encoding

    ticket = AuthTicket(auth_helper.secret,
                        userid,
                        '0.0.0.0',
                        tokens=tuple([]),
                        user_data=user_data,
                        time=time_mod.mktime(
                            (datetime.now() +
                             timedelta(seconds=expire_in_secs)).timetuple()),
                        cookie_name=auth_helper.cookie_name,
                        secure=auth_helper.secure,
                        hashalg=auth_helper.hashalg)

    return (settings['auth.policy.cookie_name'], ticket.cookie_value())
예제 #2
0
 def __init__(self, 
              secret,
              cookie_name='auth_tkt',
              callback = None,
              secure=False,
              include_ip=False,
              timeout=None,
              reissue_time=None,
              max_age=None,
              path="/",
              http_only=False,
              wild_domain=True):
     self.cookie = AuthTktCookieHelper(
         secret,
         cookie_name=cookie_name,
         secure=secure,
         include_ip=include_ip,
         timeout=timeout,
         reissue_time=reissue_time,
         max_age=max_age,
         http_only=http_only,
         path=path,
         wild_domain=wild_domain,
         )
     self.secret = secret
     self.callback = callback
예제 #3
0
파일: security.py 프로젝트: sq8kfh/kfhlog
 def __init__(self, secret):
     self.cookie = AuthTktCookieHelper(secret,
                                       cookie_name='auth_tkt',
                                       secure=False,
                                       include_ip=False,
                                       timeout=None,
                                       reissue_time=None,
                                       max_age=None,
                                       hashalg='sha512')
예제 #4
0
def cli_gen_ticket():
    env = bootstrap(sys.argv[1])
    secret = env['registry'].settings.get('lawn_secret')
    if not secret:
        print "No secret configured."
        return
    helper = AuthTktCookieHelper(secret, 'lawn')
    cookie_value = helper.remember(env['request'], IDENTITY)[0][1]
    assert cookie_value.startswith('lawn=')
    print cookie_value.split(';')[0][5:].strip('"')
예제 #5
0
    def get_off_my_lawn_unless_you_know_the_secret_handshake(request):
        helper = AuthTktCookieHelper(secret, 'lawn', max_age=TEN_YEARS)
        identity = helper.identify(request)
        if not identity:
            trythisone = request.copy()
            trythisone.cookies['lawn'] = trythisone.path_info.strip('/')
            identity = helper.identify(trythisone)
            if identity:
                response = HTTPFound(request.application_url)
                response.headers.extend(helper.remember(request, IDENTITY))
                return response

        if identity and identity['userid'] == IDENTITY:
            return handler(request)

        return get_off_my_lawn(request)
예제 #6
0
 def __init__(self, secret):
     self.authtkt = AuthTktCookieHelper(secret)
     self.identity_cache = RequestLocalCache(self.load_identity)
예제 #7
0
 def __init__(self, secret):
     self.authtkt = AuthTktCookieHelper(secret)
     self.acl = ACLHelper()
예제 #8
0
 def __init__(self, settings):
     secret = ''
     self.cookieMem = AuthTktCookieHelper(secret, cookie_name='Mem')
     self.cookieKey = AuthTktCookieHelper(secret, cookie_name='Key')
     self.cookieMem.parent_domain = True
     self.cookieKey.parent_domain = True
예제 #9
0
 def __init__(self, secret):
     self.authtkt = AuthTktCookieHelper(secret=secret)
예제 #10
0
 def __init__(self, secret):
     self.helper = AuthTktCookieHelper(secret)
     self.samba_server=SambaServer.getInstance()
예제 #11
0
 def __init__(self, settings):
     self.cookie = AuthTktCookieHelper(settings['auth.secret'])