コード例 #1
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def get_list_of_guardian_enrollments(self, user_id):
        if self.debug:
            print('command - get_list_of_guardian_enrollments'+lineno())

        users = Users(self.domain, self.token)
        results = users.get_guardian_enrollments(user_id=user_id)
        return pretty(results)
コード例 #2
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def blacklist_a_token(self, body):
        if self.debug:
            print('command - blacklist a token'+lineno())

        blacklists = Blacklists(self.domain, self.token)

        return pretty(blacklists.create())
コード例 #3
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def list_enrollment_templates(self):
        if self.debug:
            print('command - list_enrollment_templates'+lineno())

        guardian = Guardian(self.domain, self.token)

        return pretty(guardian.get_templates())
コード例 #4
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def delete_a_users_multifactor_provider(self, user_id, provider):
        if self.debug:
            print('command - delete user multifactor provider'+lineno())

        users = Users(self.domain, self.token)
        results = users.delete_multifactor(id=user_id, provider=provider)
        return pretty(results)
コード例 #5
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def delete_user(self, user_id):
        if self.debug:
            print('command - delete'+lineno())

        users = Users(self.domain, self.token)
        results = users.delete(id=user_id)
        return pretty(results)
コード例 #6
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def unlink_a_user_identity(self, id, provider, user_id ):
        if self.debug:
            print('command - unlink_a_user_identity'+lineno())

        users = Users(self.domain, self.token)
        results = users.unlink_user_account(id=id, provider=provider, user_id=user_id)
        return pretty(results)
コード例 #7
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def get_a_user(self, id, fields, include_fields):
        if self.debug:
            print('command - get_a_user'+lineno())

        users = Users(self.domain, self.token)
        results = users.get(id=id, fields=fields, include_fields=include_fields)
        return pretty(results)
コード例 #8
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def link_a_user_account(self, id, body):
        if self.debug:
            print('command - link_a_user_account'+lineno())

        users = Users(self.domain, self.token)
        results = users.link_user_account(user_id=id, body=body)
        return pretty(results)
コード例 #9
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def search_log_events(
            self,
            page,
            per_page,
            sort,
            fields,
            include_fields,
            include_totals,
            from_id,
            take,
            query
    ):
        if self.debug:
            print('command - search_log_events'+lineno())

        logs = Logs(self.domain, self.token)
        return pretty(logs.search(
            page=page,
            per_page=per_page,
            sort=sort,
            q=query,
            include_totals=include_totals,
            fields=fields,
            from_param=from_id,
            take = take
        ))
コード例 #10
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def list_sns_factor_provider_config(self):
        if self.debug:
            print('command - list_sns_factor_provider_config'+lineno())

        guardian = Guardian(self.domain, self.token)

        return pretty(guardian.get_factor_providers(factor_name='push-notification',name='sns'))
コード例 #11
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def get_blacklist(self):
        if self.debug:
            print('command - get_blacklists'+lineno())

        blacklists = Blacklists(self.domain, self.token)

        return pretty(blacklists.get())
コード例 #12
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def daily_stats(self,days):
        if self.debug:
            print('command - daily_stats'+lineno())

        stats = Stats(self.domain, self.token)

        old_date = datetime.today() - timedelta(days=int(days))
        return pretty(stats.daily_stats(from_date=old_date.strftime('%Y%m%d'), to_date=date.today().strftime('%Y%m%d')))
コード例 #13
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def create_user(self, body):
        if self.debug:
            print('command - create'+lineno())

        users = Users(self.domain, self.token)
        body = json.loads(body)

        # See if the connection is valid
        connection_ids = []
        connections = json.loads(self.get_all_connections())
        for conn in connections:
            print('conn: '+str(conn))
            if 'name' in conn:
                print('found name')
                connection_ids.append(conn['name'])


        if 'connection' in body and body['connection'] not in connection_ids:
            print('The connection id should be : '+str(pretty(connection_ids)))
            sys.exit(1)

        results = users.create(body=body)
        return pretty(results)
コード例 #14
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def get_all_connections(self):
        if self.debug:
            print('command - get_connections'+lineno())

        connection_data = []
        connections_per_page = 10
        connections = Connections(self.domain, self.token)

        pages = math.ceil(len(connections.all()) / connections_per_page)
        for page in range(pages):
            results = connections.all(page=page, per_page=connections_per_page)

            for connection in results:
                connection_data.append(connection)

        return pretty(connection_data)
コード例 #15
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def get_client_grants(self):
        if self.debug:
            print('command - get_client_grants'+lineno())

        grant_data = []
        grants_per_page = 10
        grants = ClientGrants(self.domain, self.token)

        pages = math.ceil(len(grants.all()) / grants_per_page)
        for page in range(pages):

            results = grants.all(page=page, per_page=grants_per_page)

            for data in results:
                grant_data.append(data)

        return pretty(grant_data)
コード例 #16
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def get_user_log_events(self, user_id):
        if self.debug:
            print('command - get_user_log_events'+lineno())
            print('user_id: '+str(user_id))

        log_data = []
        logs_per_page = 10
        users = Users(self.domain, self.token)
        pages = math.ceil(len(users.get_log_events(user_id=user_id, per_page=0)) / logs_per_page)
        for page in range(pages):
            results = users.get_log_events(user_id=user_id,page=page, per_page=logs_per_page)


            for log in results:
                log_data.append(log)

        return pretty(log_data)
コード例 #17
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def list_users(self):
        if self.debug:
            print('command - list_users'+lineno())

        user_data = []
        users_per_page = 10
        users = Users(self.domain, self.token)
        pages = math.ceil(users.list(per_page=0, search_engine='v3')['total'] / users_per_page)

        total_users = int(pages)*int(users_per_page)
        acceptable_number_of_pages = math.ceil(1000 / int(users_per_page))


        if self.debug:
            print('number of pages: '+str(pages))
            print('total_users: '+str(total_users))
            print('acceptable number of pages: '+str(acceptable_number_of_pages))

        if pages > acceptable_number_of_pages:
            pages = acceptable_number_of_pages -1

            print("\n##############################")
            print('Limited to a 1000 users by the api')
            print("#################################\n")


        if self.debug:
            pages=1

        for page in range(pages):
            results = users.list(search_engine='v3',page=page, per_page=users_per_page)

            if 'users' in results:
                for user in results['users']:
                    user_data.append(user)

        return pretty(user_data)
コード例 #18
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def user_by_email(self, email):
        if self.debug:
            print('command - user_by_email'+lineno())

        users = UsersByEmail(self.domain, self.token)
        return pretty(users.search_users_by_email(email=email))
コード例 #19
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def unblock_a_user(self, id):
        if self.debug:
            print('command - unblock_a_user'+lineno())

        blocks = UserBlocks(self.domain, self.token)
        return pretty(blocks.unblock(id=id))
コード例 #20
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def unblock_by_identifier(self, identifier):
        if self.debug:
            print('command - unblock_by_identifier'+lineno())

        blocks = UserBlocks(self.domain, self.token)
        return pretty(blocks.unblock_by_identifier(identifier=identifier))
コード例 #21
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def list_user_blocks(self, user_id):
        if self.debug:
            print('command - list_user_blocks'+lineno())

        blocks = UserBlocks(self.domain, self.token)
        return pretty(blocks.get(id=user_id))
コード例 #22
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def remove_rules_config_for_given_key(self,key):
        if self.debug:
            print('command - remove_rules_config_for_given_key'+lineno())

        rules = RulesConfigs(self.domain, self.token)
        return pretty(rules.remove(key))
コード例 #23
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def set_the_rules_config_for_a_given_key(self,key, body):
        if self.debug:
            print('command - set_the_rules_config_for_a_given_key'+lineno())

        rules = RulesConfigs(self.domain, self.token)
        return pretty(rules.set_rule_for_key(key=key, body=body))
コード例 #24
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def active_users(self):
        if self.debug:
            print('command - active_users'+lineno())

        stats = Stats(self.domain, self.token)
        return pretty(stats.active_users())
コード例 #25
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def get_tenants(self):
        if self.debug:
            print('command - get_tenant'+lineno())

        tenants = Tenants(self.domain, self.token)
        return pretty(tenants.get())
コード例 #26
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def update_tenant_settings(self, body):
        if self.debug:
            print('command - update_tenant_settings'+lineno())

        tenants = Tenants(self.domain, self.token)
        return pretty(tenants.update(body=body))
コード例 #27
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def create_an_email_verification_ticket(self, body):
        if self.debug:
            print('command - create_an_email_verification_ticket'+lineno())

        tickets = Tickets(self.domain, self.token)
        return pretty(tickets.create_email_verification(body=body))
コード例 #28
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def create_a_password_change_ticket(self, body):
        if self.debug:
            print('command - create_a_password_change_ticket'+lineno())

        tickets = Tickets(self.domain, self.token)
        return pretty(tickets.create_pswd_change(body=body))
コード例 #29
0
ファイル: administration.py プロジェクト: rubelw/auth0_client
def dump_account_details(ini, debug):

    # Get client
    client = Auth0Client(get_config_dict(ini, debug))

    # Get all clients applications
    print("\n#######################")
    print('Client Applications')
    print("#########################")

    client_data = client.get_all_client_applications()

    # Clean the json
    #client_data = client_data.replace('"utf-8"','\"utf-8\"').replace('"X-UA-Compatible"','\"X-UA-Compatible\"')

    print(client_data)

    if debug:
        print('trying to load client data' + lineno())
    #client_data = json.loads(client_data[0])

    if debug:
        print('done loading client data: ' + lineno())

    client_ids = {}
    for client_info in client_data:
        if 'client_id' in client_info:
            temp = {}
            temp['client_id'] = client_info['client_id']
            temp['name'] = client_info['name']
            client_ids[client_info['client_id']] = client_info['name']

    print('client ids:')
    print(pretty(client_ids))

    input("\n\nPress Enter To Continue\n")

    # Get all users
    print("\n#######################")
    print('Users')
    print("#########################")

    user_data = client.list_users()
    #print(user_data)
    user_data = json.loads(user_data)

    user_ids = []

    for user in user_data:
        print('user: '******'user_id' in user and 'email' in user:
            user_ids.append(user['user_id'])
            print('###################')
            print('id: ' + str(user['user_id']))
            print('email:' + str(user['email']))
            print('###################')

            print("\n\t#######################")
            print("\t" + 'Guardian Enrollments')
            print("\t#########################")

            guardian_enrollment_data = client.get_list_of_guardian_enrollments(
                user_id=user['user_id'])
            print(guardian_enrollment_data)

            print("\n\t#######################")
            print("\t" + 'User Blocks')
            print("\t#########################")

            user_blocks_data = client.list_user_blocks(user_id=user['user_id'])
            print(user_blocks_data)

            print("\n\t#######################")
            print("\t" + 'User Logs')
            print("\t#########################")

            user_logs_data = client.get_user_log_events(
                user_id=user['user_id'])
            print(user_logs_data)

    input("\n\nPress Enter To Continue\n")

    # Get all rules
    print("\n#######################")
    print('Rules')
    print("#########################")

    rules_data = client.get_all_rules()
    print(rules_data)

    input("\n\nPress Enter To Continue\n")

    # Get all grants
    print("\n#######################")
    print('Grants')
    print("#########################")

    grants_data = client.get_client_grants()
    print(grants_data)

    grants_data = json.loads(grants_data)
    grant_ids = {}
    for grants_info in grants_data:
        if 'client_id' in grants_info and 'audience' in grants_info:
            temp = {}
            temp['client_id'] = grants_info['client_id']
            temp['audience'] = grants_info['audience']
            grant_ids[grants_info['id']] = []
            grant_ids[grants_info['id']].append(temp)

    print("\n###### Grant Ids #########")
    print(pretty(grant_ids))

    input("\n\nPress Enter To Continue\n")

    # Get more grants

    for id in grant_ids:
        print(grant_ids[id])

        for user in user_ids:

            print('user: '******'client_id'],
                audience=grant_ids[id][0]['audience'])
            print(user_grants)

    input("\n\nPress Enter To Continue\n")

    # Get all connections
    print("\n#######################")
    print('Connections')
    print("#########################")

    connection_data = client.get_all_connections()
    print(connection_data)

    input("\n\nPress Enter To Continue\n")

    # Get all Guardian Factors
    print("\n#######################")
    print('Guardian Factors')
    print("#########################")

    factor_data = client.list_factors()
    print(factor_data)

    input("\n\nPress Enter To Continue\n")

    # Get all Guardian Enrollment Templates
    print("\n#######################")
    print('Guardian Enrollment Templates')
    print("#########################")

    template_data = client.list_enrollment_templates()
    print(template_data)

    input("\n\nPress Enter To Continue\n")

    # Get all Guardian SNS Factor Provider Config
    print("\n#######################")
    print('Guardian SNS Factor Provider Config')
    print("#########################")

    sns_factor_config_data = client.list_sns_factor_provider_config()
    print(sns_factor_config_data)

    input("\n\nPress Enter To Continue\n")

    # Get all Guardian Twilio Factor Provider Config
    print("\n#######################")
    print('Guardian Twilio Factor Provider Config')
    print("#########################")

    twilio_factor_config_data = client.list_twilio_factor_provider_config()
    print(twilio_factor_config_data)

    input("\n\nPress Enter To Continue\n")

    # Get all Resource Servers
    print("\n#######################")
    print('Resource Servers')
    print("#########################")

    resource_data = client.get_all_resource_servers()
    print(resource_data)

    input("\n\nPress Enter To Continue\n")

    # Daily Stats
    print("\n#######################")
    print('Daily Stats')
    print("#########################")

    stats_data = client.daily_stats(2)
    print(stats_data)

    input("\n\nPress Enter To Continue\n")

    # Tenants
    print("\n#######################")
    print('Tenants')
    print("#########################")

    tenants_data = client.get_tenants()
    print(tenants_data)
コード例 #30
0
ファイル: Auth0Client.py プロジェクト: rubelw/auth0_client
    def generate_new_user_guardian_recovery_code(self, user_id):
        if self.debug:
            print('command - generate_new_user_guardian_recovery_code'+lineno())

        users = Users(self.domain, self.token)
        return pretty(users.regenerate_recovery_code(user_id=user_id))