Login Configurations

Manage Login Configurations and User Groups with Affinidi Login Service.

Install Dependency

Package: affinidi-tdk/affinidi-tdk-php

composer require affinidi-tdk/affinidi-tdk-php

Check the latest version on the Packagist 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 name and redirect URIs.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\ConfigurationApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'name' => 'Sample App',
        'redirectUris' => array(
            'http://localhost:3001/api/auth/callback',
        ),
    );
    $result = $apiInstance->createLoginConfigurations($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

deleteLoginConfigurationsById

Deletes an existing login configuration by ID.

Parameters

configurationId string Required
ID of the login configuration to delete.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\ConfigurationApi(new GuzzleHttp\Client(), $config);

try {
    $apiInstance->deleteLoginConfigurationsById('<CONFIG_ID>');
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

getClientMetadataByClientId

Retrieves the client metadata of the login configuration by OAuth 2.0 client ID.

Parameters

clientId string Required
OAuth 2.0 client ID generated by the login configuration.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\ConfigurationApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->getClientMetadataByClientId('<CLIENT_ID>');
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

getLoginConfigurationsById

Retrieves the login configuration details by ID.

Parameters

configurationId string Required
ID of the login configuration to retrieve.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\ConfigurationApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->getLoginConfigurationsById('<CONFIG_ID>');
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

listLoginConfigurations

Returns all login configurations in the project.

Parameters

limit integer Optional
Maximum number of records to return.
exclusiveStartKey string Optional
Base64url-encoded pagination key.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\ConfigurationApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->listLoginConfigurations();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

updateLoginConfigurationsById

Updates an existing login configuration by ID.

Parameters

configurationId string Required
ID of the login configuration to update.
updateLoginConfigurationInput UpdateLoginConfigurationInput Required
Updated configuration name and redirect URIs.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\ConfigurationApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'name' => 'My Updated Login Config',
        'redirectUris' => array(
            'http://localhost:3001/api/auth/callback',
        ),
    );
    $result = $apiInstance->updateLoginConfigurationsById('<CONFIG_ID>', $request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

Group API

Used to manage the User Groups for the Project.

addUserToGroup

Adds a user to a group.

Parameters

groupName string Required
Name of the group.
addUserToGroupInput AddUserToGroupInput Required
User ID (DID) to add to the group.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\GroupApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'userId' => 'did:key:890890890890890',
    );
    $result = $apiInstance->addUserToGroup('<GROUP_NAME>', $request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

createGroup

Creates a user group.

Parameters

createGroupInput CreateGroupInput Required
Name of the user group.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\GroupApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'groupName' => '<GROUP_NAME>',
    );
    $result = $apiInstance->createGroup($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

deleteGroup

Deletes a group by name.

Parameters

groupName string Required
Name of the group to delete.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\GroupApi(new GuzzleHttp\Client(), $config);

try {
    $apiInstance->deleteGroup('<GROUP_NAME>');
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

getGroupById

Retrieves a group by name.

Parameters

groupName string Required
Name of the group to retrieve.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\GroupApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->getGroupById('<GROUP_NAME>');
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

listGroupUserMappings

Returns all users in a group.

Parameters

groupName string Required
Name of the group.
limit integer Optional
Maximum number of records to return.
exclusiveStartKey string Optional
Base64url-encoded pagination key.
sortOrder string Optional
Sort order. Defaults to descending.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\GroupApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->listGroupUserMappings('<GROUP_NAME>');
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

listGroups

Returns all groups in the project.

No parameters required.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\GroupApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->listGroups();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

removeUserFromGroup

Removes a user from a group.

Parameters

groupName string Required
Name of the group.
removeUserFromGroupInput RemoveUserFromGroupInput Required
User ID (DID) to remove from the group.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\GroupApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'userId' => 'did:key:890890890890890',
    );
    $result = $apiInstance->removeUserFromGroup('<GROUP_NAME>', $request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

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

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\DenyListApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'groupNames' => array('<GROUP_1_NAME>', '<GROUP_2_NAME>'),
    );
    $result = $apiInstance->blockGroups($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

blockUsers

Blocks users by user ID (DID).

Parameters

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

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\DenyListApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'userIds' => array('<USER_1_DID>', '<USER_2_DID>'),
    );
    $result = $apiInstance->blockUsers($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

listBlockedGroups

Returns the list of blocked groups.

Parameters

pageToken string Optional
Pagination token.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\DenyListApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->listBlockedGroups();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

listBlockedUsers

Returns the list of blocked users.

Parameters

pageToken string Optional
Pagination token.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\DenyListApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->listBlockedUsers();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

unblockGroups

Unblocks users by group.

Parameters

groupNamesInput GroupNamesInput Required
List of group names to unblock.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\DenyListApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'groupNames' => array('<GROUP_1_NAME>', '<GROUP_2_NAME>'),
    );
    $result = $apiInstance->unblockGroups($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

unblockUsers

Unblocks users by user ID (DID).

Parameters

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

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\DenyListApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'userIds' => array('<USER_1_DID>', '<USER_2_DID>'),
    );
    $result = $apiInstance->unblockUsers($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

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

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\AllowListApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'groupNames' => array('<GROUP_NAME_1>', '<GROUP_NAME_2>'),
    );
    $result = $apiInstance->allowGroups($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

disallowGroups

Disallows access to users by group.

Parameters

groupNamesInput GroupNamesInput Required
List of group names to disallow.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\AllowListApi(new GuzzleHttp\Client(), $config);

try {
    $request = array(
        'groupNames' => array('<GROUP_NAME_1>', '<GROUP_NAME_2>'),
    );
    $result = $apiInstance->disallowGroups($request);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}

listAllowedGroups

Returns the list of allowed groups.

Parameters

pageToken string Optional
Pagination token.

Example

require_once 'vendor/autoload.php';
use AffinidiTdk\Clients\LoginConfigurationClient;

$tokenCallback = [$authProvider, 'fetchProjectScopedToken'];
$config = LoginConfigurationClient\Configuration::getDefaultConfiguration()->setApiKey('authorization', '', $tokenCallback);
$apiInstance = new LoginConfigurationClient\Api\AllowListApi(new GuzzleHttp\Client(), $config);

try {
    $result = $apiInstance->listAllowedGroups();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception: ', $e->getMessage(), PHP_EOL;
}