Login Configurations

Manage Login Configurations and User Groups with Affinidi Login Service.

Install Dependency

Package: affinidi_tdk_login_configuration_client

pip install affinidi_tdk_login_configuration_client

Check the latest version on the PyPI repository or view the source on GitHub.

Classes and Methods

Configurations API

Manages Login Configurations to integrate Affinidi Login.

create_login_configurations

Creates a new Login Configuration.

Parameters

create_login_configuration_input CreateLoginConfigurationInput Required
Application name, redirect URIs, and other configuration details.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.ConfigurationApi(api_client)

    request_json = {
        'name': 'Sample App',
        'redirectUris': ['http://localhost:3000/auth/callback'],
    }

    create_login_configuration_input = affinidi_tdk_login_configuration_client.CreateLoginConfigurationInput.from_dict(request_json)
    api_response = api_instance.create_login_configurations(create_login_configuration_input=create_login_configuration_input)

delete_login_configurations_by_id

Deletes an existing Login Configuration by ID.

Parameters

configurationId str Required
ID of the Login Configuration to delete.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.ConfigurationApi(api_client)
    api_instance.delete_login_configurations_by_id('<CONFIG_ID>')

get_client_metadata_by_client_id

Retrieves the client metadata of a Login Configuration by its OAuth 2.0 Client ID.

Parameters

clientId str Required
OAuth 2.0 Client ID generated by the Login Configuration.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.ConfigurationApi(api_client)
    api_response = api_instance.get_client_metadata_by_client_id('<CLIENT_ID>')

get_login_configurations_by_id

Retrieves a Login Configuration by ID.

Parameters

configurationId str Required
ID of the Login Configuration to retrieve.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.ConfigurationApi(api_client)
    api_response = api_instance.get_login_configurations_by_id('<CONFIG_ID>')

list_login_configurations

Returns the list of Login Configurations for the project.

Parameters

limit int Optional
Maximum number of records to return.
exclusiveStartKey str Optional
Base64url-encoded key of the first item that this operation will evaluate (it is not returned). Use the value returned in the previous operation to paginate.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.ConfigurationApi(api_client)
    api_response = api_instance.list_login_configurations()

update_login_configurations_by_id

Updates an existing Login Configuration by ID.

Parameters

configurationId str Required
ID of the Login Configuration to update.
update_login_configuration_input UpdateLoginConfigurationInput Required
Updated configuration details.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.ConfigurationApi(api_client)

    request_json = {
        'name': 'My Updated Login Config',
        'redirectUris': ['http://localhost:3001/api/auth/callback'],
    }

    update_login_configuration_input = affinidi_tdk_login_configuration_client.UpdateLoginConfigurationInput.from_dict(request_json)
    api_response = api_instance.update_login_configurations_by_id('<CONFIG_ID>', update_login_configuration_input)

Group API

Manages user groups for the project.

add_user_to_group

Adds a user to a group.

Parameters

groupName str Required
Name of the group to add the user to.
add_user_to_group_input AddUserToGroupInput Required
DID of the user to add.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.GroupApi(api_client)

    user_to_add_json = {
        'user_id': 'did:key:890890890890890',
    }

    add_user_to_group_input = affinidi_tdk_login_configuration_client.AddUserToGroupInput.from_dict(user_to_add_json)
    api_response = api_instance.add_user_to_group('<GROUP_NAME>', add_user_to_group_input)

create_group

Creates a user group.

Parameters

create_group_input CreateGroupInput Required
Name for the new user group.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.GroupApi(api_client)

    group_name_input = {
        'group_name': '<GROUP_NAME>',
    }

    create_group_input = affinidi_tdk_login_configuration_client.CreateGroupInput.from_dict(group_name_input)
    api_response = api_instance.create_group(create_group_input)

delete_group

Deletes a group by name.

Parameters

groupName str Required
Name of the group to delete.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.GroupApi(api_client)
    api_instance.delete_group('<GROUP_NAME>')

get_group_by_id

Retrieves a group by name.

Parameters

groupName str Required
Name of the group to retrieve.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.GroupApi(api_client)
    api_response = api_instance.get_group_by_id('<GROUP_NAME>')

list_group_user_mappings

Returns the list of users in a group.

Parameters

groupName str Required
Name of the group.
limit int Optional
Maximum number of records to return.
exclusiveStartKey str Optional
Base64url-encoded key of the first item that this operation will evaluate (it is not returned). Use the value returned in the previous operation to paginate.
sortOrder str Optional
Sort order for the response. Defaults to desc.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.GroupApi(api_client)
    api_response = api_instance.list_group_user_mappings(
        '<GROUP_NAME>',
        limit=56,
        exclusive_start_key='<EXCLUSIVE_START_KEY>',
        sort_order='desc',
    )

list_groups

Returns all groups in the project.

No parameters required.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.GroupApi(api_client)
    api_response = api_instance.list_groups()

remove_user_from_group

Removes a user from a group.

Parameters

groupName str Required
Name of the group.
remove_user_from_group_input RemoveUserFromGroupInput Required
DID of the user to remove.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.GroupApi(api_client)

    user_to_remove_json = {
        'userId': 'did:key:890890890890890',
    }

    remove_user_from_group_input = affinidi_tdk_login_configuration_client.RemoveUserFromGroupInput.from_dict(user_to_remove_json)
    api_instance.remove_user_from_group('<GROUP_NAME>', remove_user_from_group_input)

DenyList API

Used to block groups and users to deny access on services like Affinidi Login when users are authenticating.

block_groups

Blocks users by group.

Parameters

group_names_input GroupNamesInput Required
List of group names to block.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.DenyListApi(api_client)
    api_response = api_instance.block_groups(group_names_input=['<GROUP_1_NAME>', '<GROUP_2_NAME>'])

block_users

Blocks users by user ID (DID).

Parameters

blocked_users_input BlockedUsersInput Required
List of user DIDs to block.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.DenyListApi(api_client)
    api_response = api_instance.block_users(blocked_users_input=['<USER_1_DID>', '<USER_2_DID>'])

list_blocked_groups

Get list of blocked groups.

Parameters

pageToken [String]

Used for pagination.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.DenyListApi(api_client)

    api_response = api_instance.list_blocked_groups()

list_blocked_users

Get list of blocked users.

Parameters

pageToken [String]

Used for pagination.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.DenyListApi(api_client)

    api_response = api_instance.list_blocked_users()

unblock_groups

Unblock users by group.

Parameters

GroupNamesInput [Object]

List of groups to block. See more here.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.DenyListApi(api_client)

    request_json = [
        "<GROUP_1_NAME>",
        "<GROUP_2_NAME>"
    ]

    api_response = api_instance.unblock_groups(group_names_input=request_json)

unblock_users

Unblock by User ID (DID).

Parameters

BlockedUsersInput [Object]

List of User IDs (DIDs) to block. See more here.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.DenyListApi(api_client)

    request_json = [
        "<USER_1_DID>",
        "<USER_2_DID>"
    ]

    api_response = api_instance.unblock_users(blocked_users_input=request_json)

AllowList API

Used to allow groups and users to grant access on services like Affinidi Login when users are authenticating.

allow_groups

Allows users by group.

Parameters

GroupNamesInput [Object]

List of groups to allow. See more here.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.AllowListApi(api_client)

    request_json = [
        "<GROUP_NAME_1>",
        "<GROUP_NAME_2>"
    ]

    api_response = api_instance.allow_groups(group_names_input=request_json)

disallow_groups

Disallow access to users by group.

Parameters

GroupNamesInput [Object]

List of groups to disallow. See more here.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.AllowListApi(api_client)

    request_json = [
        "<GROUP_NAME_1>",
        "<GROUP_NAME_2>"
    ]

    api_response = api_instance.disallow_groups(group_names_input=request_json)

list_allowed_groups

Get list of allowed groups.

Parameters

pageToken [String]

Used for pagination.

Example

import affinidi_tdk_login_configuration_client

configuration = affinidi_tdk_login_configuration_client.Configuration()
# Pass the projectScopedToken generated from AuthProvider package
configuration.api_key['ProjectTokenAuth'] = projectScopedToken

with affinidi_tdk_login_configuration_client.ApiClient(configuration) as api_client:
    api_instance = affinidi_tdk_login_configuration_client.AllowListApi(api_client)

    api_response = api_instance.list_allowed_groups()