예제 #1
0
파일: user.py 프로젝트: iychoi/syndicate
 def CreateAdmin( cls, email, owner_id, public_key, syndicate_private_key ):
    """
    Create the admin user.
    Called when the MS initializes itself for the first time 
    """
    
    import common.api as api 
    
    admin_cert = ms_pb2.ms_user_cert()
    
    admin_cert.user_id = owner_id 
    admin_cert.email = email 
    admin_cert.public_key = public_key 
    admin_cert.admin_id = owner_id
    admin_cert.max_volumes = -1 
    admin_cert.max_gateways = -1 
    admin_cert.is_admin = True 
    admin_cert.signature = "" 
    
    admin_cert_str = admin_cert.SerializeToString()
    
    sig = api.sign_data( syndicate_private_key, admin_cert_str )
    
    admin_cert.signature = base64.b64encode( sig )
    
    return SyndicateUser.Create( admin_cert )
예제 #2
0
    def CreateAdmin(cls, email, owner_id, public_key, syndicate_private_key):
        """
      Create the admin user.
      Called when the MS initializes itself for the first time 
      """

        import common.api as api

        admin_cert = ms_pb2.ms_user_cert()

        admin_cert.user_id = owner_id
        admin_cert.email = email
        admin_cert.public_key = public_key
        admin_cert.admin_id = owner_id
        admin_cert.max_volumes = -1
        admin_cert.max_gateways = -1
        admin_cert.is_admin = True
        admin_cert.signature = ""

        admin_cert_str = admin_cert.SerializeToString()

        sig = api.sign_data(syndicate_private_key, admin_cert_str)

        admin_cert.signature = base64.b64encode(sig)

        return SyndicateUser.Create(admin_cert)
예제 #3
0
파일: storage.py 프로젝트: iychoi/syndicate
def reset_user( email, **fields ):
   
   if not fields.has_key('user_cert_b64'):
      raise Exception("Missing serialized user cert")
   
   user_cert = None
   try:
      user_cert_bin = base64.b64decode( fields['user_cert_b64'] )
      user_cert = ms_pb2.ms_user_cert()
      user_cert.ParseFromString( user_cert_bin )
   except Exception, e:
      raise Exception("Failed to parse serialized user cert")
예제 #4
0
def reset_user(email, **fields):

    if not fields.has_key('user_cert_b64'):
        raise Exception("Missing serialized user cert")

    user_cert = None
    try:
        user_cert_bin = base64.b64decode(fields['user_cert_b64'])
        user_cert = ms_pb2.ms_user_cert()
        user_cert.ParseFromString(user_cert_bin)
    except Exception, e:
        raise Exception("Failed to parse serialized user cert")
예제 #5
0
파일: storage.py 프로젝트: iychoi/syndicate
def create_user( email, **fields ):
   """
   Create a user:
   * must be given user_cert_bin as a keyword, which must be an ms_user_cert
   * the cert must be signed by the admin it identifies 
   * the user must not exist
   * an existing admin must have signed the user cert
   * said admin has to have been the one to call this method
   """
   
   if not fields.has_key('user_cert_b64'):
      raise Exception("Missing serialized user cert")
   
   user_cert = None
   try:
      user_cert_bin = base64.b64decode( fields['user_cert_b64'] )
      user_cert = ms_pb2.ms_user_cert()
      user_cert.ParseFromString( user_cert_bin )
   except Exception, e:
      traceback.print_exc()
      raise Exception("Failed to parse serialized user cert")
예제 #6
0
def create_user(email, **fields):
    """
   Create a user:
   * must be given user_cert_bin as a keyword, which must be an ms_user_cert
   * the cert must be signed by the admin it identifies
   * the user must not exist
   * an existing admin must have signed the user cert
   * said admin has to have been the one to call this method
   """

    if not fields.has_key('user_cert_b64'):
        raise Exception("Missing serialized user cert")

    user_cert = None
    try:
        user_cert_bin = base64.b64decode(fields['user_cert_b64'])
        user_cert = ms_pb2.ms_user_cert()
        user_cert.ParseFromString(user_cert_bin)
    except Exception, e:
        traceback.print_exc()
        raise Exception("Failed to parse serialized user cert")