Login Configurations

Manage Login Configurations and User Groups with Affinidi Login Service.

Install Dependency

Package: pkg:maven/com.affinidi.tdk/login.configuration.client

<dependency>
    <groupId>com.affinidi.tdk</groupId>
    <artifactId>login.configuration.client</artifactId>
    <version><version_number></version>
</dependency>

Check the latest version on the Maven Central repository or view the source on GitHub.

Classes and Methods

Configurations API

Use to manage Login Configuration to integrate Affinidi Login.

createLoginConfigurations

Creates a new Login Configuration to integrate Affinidi Login.

Parameters

createLoginConfigurationInput CreateLoginConfigurationInput Required
Application configuration details, including name and redirect URIs.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.CreateLoginConfigurationInput;
import com.affinidi.tdk.login.configuration.client.models.CreateLoginConfigurationOutput;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    ConfigurationApi apiInstance = new ConfigurationApi(defaultClient);

    CreateLoginConfigurationInput requestInput = new CreateLoginConfigurationInput()
        .name("Sample App")
        .redirectUris(List.of("http://localhost:3001/api/auth/callback"));

    CreateLoginConfigurationOutput result = apiInstance.createLoginConfigurations(requestInput);
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

deleteLoginConfigurationsById

Deletes an existing Login Configuration by ID.

Parameters

configurationId String Required
ID of the Login Configuration to delete.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    ConfigurationApi apiInstance = new ConfigurationApi(defaultClient);
    apiInstance.deleteLoginConfigurationsById("<CONFIG_ID>");
} catch (Exception e) {
    e.printStackTrace();
}

getClientMetadataByClientId

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

Parameters

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

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.LoginConfigurationClientMetadataOutput;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    ConfigurationApi apiInstance = new ConfigurationApi(defaultClient);
    LoginConfigurationClientMetadataOutput result = apiInstance.getClientMetadataByClientId("<CLIENT_ID>");
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

getLoginConfigurationsById

Retrieves the Login Configuration details by ID.

Parameters

configurationId String Required
ID of the Login Configuration to retrieve.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.LoginConfigurationObject;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    ConfigurationApi apiInstance = new ConfigurationApi(defaultClient);
    LoginConfigurationObject result = apiInstance.getLoginConfigurationsById("<CONFIG_ID>");
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

listLoginConfigurations

Lists all Login Configurations in the project.

Parameters

limit Integer Optional
Maximum number of records to return.
exclusiveStartKey String Optional
Base64url-encoded key of the first item for the next page of results.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.ListLoginConfigurationOutput;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    ConfigurationApi apiInstance = new ConfigurationApi(defaultClient);
    ListLoginConfigurationOutput result = apiInstance.listLoginConfigurations(10, null);
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

updateLoginConfigurationsById

Updates an existing Login Configuration by ID.

Parameters

configurationId String Required
ID of the Login Configuration to update.
updateLoginConfigurationInput UpdateLoginConfigurationInput Required
Updated configuration details.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.LoginConfigurationObject;
import com.affinidi.tdk.login.configuration.client.models.UpdateLoginConfigurationInput;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    ConfigurationApi apiInstance = new ConfigurationApi(defaultClient);

    UpdateLoginConfigurationInput requestInput = new UpdateLoginConfigurationInput()
        .redirectUris(List.of("http://localhost:3001/api/auth/callback"));

    LoginConfigurationObject result = apiInstance.updateLoginConfigurationsById("<CONFIG_ID>", requestInput);
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

Group API

Used to manage the User Groups for the Project.

addUserToGroup

Adds a user to a user group.

Parameters

groupName String Required
Name of the group to add the user to.
addUserToGroupInput AddUserToGroupInput Required
ID of the user to add.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.AddUserToGroupInput;
import com.affinidi.tdk.login.configuration.client.models.GroupUserMappingDto;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    GroupApi apiInstance = new GroupApi(defaultClient);

    AddUserToGroupInput requestInput = new AddUserToGroupInput()
        .userId("<USER_DID>");

    GroupUserMappingDto result = apiInstance.addUserToGroup("<GROUP_NAME>", requestInput);
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

createGroup

Creates a user group.

Parameters

createGroupInput CreateGroupInput Required
Name of the user group to create.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.CreateGroupInput;
import com.affinidi.tdk.login.configuration.client.models.GroupDto;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    GroupApi apiInstance = new GroupApi(defaultClient);

    CreateGroupInput requestInput = new CreateGroupInput().groupName("<GROUP_NAME>");
    GroupDto result = apiInstance.createGroup(requestInput);
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

deleteGroup

Deletes a group by name.

Parameters

groupName String Required
Name of the group to delete.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    GroupApi apiInstance = new GroupApi(defaultClient);
    apiInstance.deleteGroup("<GROUP_NAME>");
} catch (Exception e) {
    e.printStackTrace();
}

getGroupById

Retrieves a group by name.

Parameters

groupName String Required
Name of the group to retrieve.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupDto;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    GroupApi apiInstance = new GroupApi(defaultClient);
    GroupDto result = apiInstance.getGroupById("<GROUP_NAME>");
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

listGroupUserMappings

Lists all users in a group.

Parameters

groupName String Required
Name of the group to list.
limit Integer Optional
Maximum number of records to return.
exclusiveStartKey String Optional
Base64url-encoded key of the first item for the next page of results.
sortOrder String Optional
Sort order for the response. Defaults to descending.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupUserMappingsList;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    GroupApi apiInstance = new GroupApi(defaultClient);
    GroupUserMappingsList result = apiInstance.listGroupUserMappings("<GROUP_NAME>", null, null, null);
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

listGroups

Lists all groups in the project.

No parameters required.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupsList;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    GroupApi apiInstance = new GroupApi(defaultClient);
    GroupsList result = apiInstance.listGroups();
    System.out.println(result.toString());
} catch (Exception e) {
    e.printStackTrace();
}

removeUserFromGroup

Removes a user from a group.

Parameters

groupName String Required
Name of the group to remove the user from.
removeUserFromGroupInput RemoveUserFromGroupInput Required
ID of the user to remove.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.RemoveUserFromGroupInput;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    GroupApi apiInstance = new GroupApi(defaultClient);

    RemoveUserFromGroupInput requestInput = new RemoveUserFromGroupInput()
        .userId("<USER_DID>");

    apiInstance.removeUserFromGroup("<GROUP_NAME>", requestInput);
} catch (Exception e) {
    e.printStackTrace();
}

DenyList API

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

blockGroups

Blocks users by group.

Parameters

groupNamesInput GroupNamesInput Required
List of group names to block.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupNamesInput;
import com.affinidi.tdk.login.configuration.client.apis.DenyListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DenyListApi apiInstance = new DenyListApi(defaultClient);

    GroupNamesInput requestInput = new GroupNamesInput()
        .groupNames(List.of("<GROUP_1_NAME>", "<GROUP_2_NAME>"));

    apiInstance.blockGroups(requestInput);
} catch (Exception e) {
    e.printStackTrace();
}

blockUsers

Blocks users by User ID (DID).

Parameters

blockedUsersInput BlockedUsersInput Required
List of User IDs (DIDs) to block.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.BlockedUsersInput;
import com.affinidi.tdk.login.configuration.client.apis.DenyListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DenyListApi apiInstance = new DenyListApi(defaultClient);

    BlockedUsersInput requestInput = new BlockedUsersInput()
        .userDids(List.of("<USER_1_DID>", "<USER_2_DID>"));

    apiInstance.blockUsers(requestInput);
} catch (Exception e) {
    e.printStackTrace();
}

listBlockedGroups

Returns the list of blocked groups.

Parameters

pageToken String Optional
Pagination token.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupNames;
import com.affinidi.tdk.login.configuration.client.apis.DenyListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DenyListApi apiInstance = new DenyListApi(defaultClient);
    GroupNames result = apiInstance.listBlockedGroups(null);
    System.out.println(result);
} catch (Exception e) {
    e.printStackTrace();
}

listBlockedUsers

Returns the list of blocked users.

Parameters

pageToken String Optional
Pagination token.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.BlockedUsers;
import com.affinidi.tdk.login.configuration.client.apis.DenyListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DenyListApi apiInstance = new DenyListApi(defaultClient);
    BlockedUsers result = apiInstance.listBlockedUsers(null);
    System.out.println(result);
} catch (Exception e) {
    e.printStackTrace();
}

unblockGroups

Unblocks users by group.

Parameters

groupNamesInput GroupNamesInput Required
List of group names to unblock.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupNamesInput;
import com.affinidi.tdk.login.configuration.client.apis.DenyListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DenyListApi apiInstance = new DenyListApi(defaultClient);

    GroupNamesInput requestInput = new GroupNamesInput()
        .groupNames(List.of("<GROUP_1_NAME>", "<GROUP_2_NAME>"));

    apiInstance.unblockGroups(requestInput);
} catch (Exception e) {
    e.printStackTrace();
}

unblockUsers

Unblocks users by User ID (DID).

Parameters

blockedUsersInput BlockedUsersInput Required
List of User IDs (DIDs) to unblock.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.BlockedUsersInput;
import com.affinidi.tdk.login.configuration.client.apis.DenyListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    DenyListApi apiInstance = new DenyListApi(defaultClient);

    BlockedUsersInput requestInput = new BlockedUsersInput()
        .userDids(List.of("<USER_1_DID>", "<USER_2_DID>"));

    apiInstance.unblockUsers(requestInput);
} catch (Exception e) {
    e.printStackTrace();
}

AllowList API

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

allowGroups

Allows users by group.

Parameters

groupNamesInput GroupNamesInput Required
List of group names to allow.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupNamesInput;
import com.affinidi.tdk.login.configuration.client.apis.AllowListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    AllowListApi apiInstance = new AllowListApi(defaultClient);

    GroupNamesInput requestInput = new GroupNamesInput()
        .groupNames(List.of("<GROUP_NAME_1>", "<GROUP_NAME_2>"));

    apiInstance.allowGroups(requestInput);
} catch (Exception e) {
    e.printStackTrace();
}

disallowGroups

Disallows access to users by group.

Parameters

groupNamesInput GroupNamesInput Required
List of group names to disallow.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupNamesInput;
import com.affinidi.tdk.login.configuration.client.apis.AllowListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    AllowListApi apiInstance = new AllowListApi(defaultClient);

    GroupNamesInput requestInput = new GroupNamesInput()
        .groupNames(List.of("<GROUP_NAME_1>", "<GROUP_NAME_2>"));

    apiInstance.disallowGroups(requestInput);
} catch (Exception e) {
    e.printStackTrace();
}

listAllowedGroups

Returns the list of allowed groups.

Parameters

pageToken String Optional
Pagination token.

Example

import com.affinidi.tdk.login.configuration.client.ApiClient;
import com.affinidi.tdk.login.configuration.client.Configuration;
import com.affinidi.tdk.login.configuration.client.auth.ApiKeyAuth;
import com.affinidi.tdk.login.configuration.client.models.GroupNames;
import com.affinidi.tdk.login.configuration.client.apis.AllowListApi;

try {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    ApiKeyAuth ProjectTokenAuth = (ApiKeyAuth) defaultClient.getAuthentication("ProjectTokenAuth");
    ProjectTokenAuth.setApiKey(authProvider.fetchProjectScopedToken());

    AllowListApi apiInstance = new AllowListApi(defaultClient);
    GroupNames result = apiInstance.listAllowedGroups(null);
    System.out.println(result);
} catch (Exception e) {
    e.printStackTrace();
}