Login Configurations
Install Dependency
Package: @affinidi-tdk/login-configuration-client
npm install @affinidi-tdk/login-configuration-client --saveCheck the latest version on the npm registry or view the source on GitHub.
Classes and Methods
Configurations API
Manages Login Configurations to integrate Affinidi Login.
createLoginConfigurations
Creates a new Login Configuration.
Parameters
Example
import { ConfigurationApi, Configuration, CreateLoginConfigurationInput } from '@affinidi-tdk/login-configuration-client'
const api = new ConfigurationApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const request: CreateLoginConfigurationInput = {
name: 'Sample App',
redirectUris: ['http://localhost:3000/auth/callback'],
}
const { data } = await api.createLoginConfigurations(request)deleteLoginConfigurationsById
Deletes an existing Login Configuration by ID.
Parameters
configurationId
string
RequiredExample
import { ConfigurationApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new ConfigurationApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
await api.deleteLoginConfigurationsById('<CONFIG_ID>')getClientMetadataByClientId
Retrieves the Client Metadata of a Login Configuration by OAuth 2.0 Client ID.
Parameters
clientId
string
RequiredExample
import { ConfigurationApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new ConfigurationApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const { data } = await api.getClientMetadataByClientId('<CLIENT_ID>')getLoginConfigurationsById
Retrieves the Login Configuration details by ID.
Parameters
configurationId
string
RequiredExample
import { ConfigurationApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new ConfigurationApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const { data } = await api.getLoginConfigurationsById('<CONFIG_ID>')listLoginConfigurations
Lists all Login Configurations in the project.
Parameters
limit
number
OptionalexclusiveStartKey
string
OptionalExample
import { ConfigurationApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new ConfigurationApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const { data } = await api.listLoginConfigurations()updateLoginConfigurationsById
Updates an existing Login Configuration by ID.
Parameters
configurationId
string
RequiredExample
import { ConfigurationApi, Configuration, UpdateLoginConfigurationInput } from '@affinidi-tdk/login-configuration-client'
const api = new ConfigurationApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const request: UpdateLoginConfigurationInput = {
name: 'My Updated Login Config',
redirectUris: ['http://localhost:3001/api/auth/callback'],
}
const { data } = await api.updateLoginConfigurationsById('<CONFIG_ID>', request)Group API
Manages user groups for the project.
addUserToGroup
Adds a user to a user group.
Parameters
groupName
string
RequiredExample
import { GroupApi, Configuration, AddUserToGroupInput } from '@affinidi-tdk/login-configuration-client'
const api = new GroupApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const request: AddUserToGroupInput = {
userId: 'did:key:890890890890890',
}
const { data } = await api.addUserToGroup('<GROUP_NAME>', request)createGroup
Creates a user group.
Parameters
Example
import { GroupApi, Configuration, CreateGroupInput } from '@affinidi-tdk/login-configuration-client'
const api = new GroupApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const request: CreateGroupInput = {
groupName: '<GROUP_NAME>',
}
const { data } = await api.createGroup(request)deleteGroup
Deletes a group by name.
Parameters
groupName
string
RequiredExample
import { GroupApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new GroupApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
await api.deleteGroup('<GROUP_NAME>')getGroupById
Retrieves a group by name.
Parameters
groupName
string
RequiredExample
import { GroupApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new GroupApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const { data } = await api.getGroupById('<GROUP_NAME>')listGroupUserMappings
Lists all users in a group.
Parameters
groupName
string
Requiredlimit
number
OptionalexclusiveStartKey
string
OptionalsortOrder
string
Optional"desc").Example
import { GroupApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new GroupApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const { data } = await api.listGroupUserMappings('<GROUP_NAME>')listGroups
Lists all groups in the project.
No parameters required.
Example
import { GroupApi, Configuration } from '@affinidi-tdk/login-configuration-client'
const api = new GroupApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const { data } = await api.listGroups()removeUserFromGroup
Removes a user from a group.
Parameters
groupName
string
RequiredExample
import { GroupApi, Configuration, RemoveUserFromGroupInput } from '@affinidi-tdk/login-configuration-client'
const api = new GroupApi(
new Configuration({ apiKey: authProvider.fetchProjectScopedToken.bind(authProvider) })
)
const request: RemoveUserFromGroupInput = {
userId: 'did:key:890890890890890',
}
const { data } = await api.removeUserFromGroup('<GROUP_NAME>', request)DenyList API
Used to block groups and users to deny access on services like Affinidi Login when users are authenticating.
blockGroups
Block users by group.
Parameters
GroupNamesInput [Object]
List of groups to block. See more here.
Example
import { DenyListApi, Configuration, GroupNamesInput } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DenyListApi(authConfiguration)
const request: GroupNamesInput = [
"<GROUP_1_NAME>",
"<GROUP_2_NAME>"
]
const { data } = await api.blockGroups(request)blockUsers
Block by User ID (DID).
Parameters
BlockedUsersInput [Object]
List of User IDs (DIDs) to block. See more here.
Example
import { DenyListApi, Configuration, BlockedUsersInput } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DenyListApi(authConfiguration)
const request: BlockedUsersInput = [
"<USER_1_DID>",
"<USER_2_DID>"
]
const { data } = await api.blockUsers(request)listBlockedGroups
Get list of blocked groups.
Parameters
pageToken [String]
Used for pagination.
Example
import { DenyListApi, Configuration } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DenyListApi(authConfiguration)
const { data } = await api.listBlockedGroups()listBlockedUsers
Get list of blocked users.
Parameters
pageToken [String]
Used for pagination.
Example
import { DenyListApi, Configuration } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DenyListApi(authConfiguration)
const { data } = await api.listBlockedUsers()unblockGroups
Unblock users by group.
Parameters
GroupNamesInput [Object]
List of groups to block. See more here.
Example
import { DenyListApi, Configuration, GroupNamesInput } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DenyListApi(authConfiguration)
const request: GroupNamesInput = [
"<GROUP_1_NAME>",
"<GROUP_2_NAME>"
]
const { data } = await api.unblockGroups(request)unblockUsers
Unblock by User ID (DID).
Parameters
BlockedUsersInput [Object]
List of User IDs (DIDs) to block. See more here.
Example
import { DenyListApi, Configuration, BlockedUsersInput } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new DenyListApi(authConfiguration)
const request: BlockedUsersInput = [
"<USER_1_DID>",
"<USER_2_DID>"
]
const { data } = await api.unblockUsers(request)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 [Object]
List of groups to allow. See more here.
Example
import { AllowListApi, Configuration, GroupNamesInput } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new AllowListApi(authConfiguration)
const request: GroupNamesInput = [
"<GROUP_NAME_1>",
"<GROUP_NAME_2>"
]
const { data } = await api.allowGroups(request)disallowGroups
Disallow access to users by group.
Parameters
GroupNamesInput [Object]
List of groups to disallow. See more here.
Example
import { AllowListApi, Configuration, GroupNamesInput } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new AllowListApi(authConfiguration)
const request: GroupNamesInput = [
"<GROUP_NAME_1>",
"<GROUP_NAME_2>"
]
const { data } = await api.disallowGroups(request)listAllowedGroups
Get list of allowed groups.
Parameters
pageToken [String]
Used for pagination.
Example
import { AllowListApi, Configuration } from '@affinidi-tdk/login-configuration-client'
// Pass the projectScopedToken generated from AuthProvider package
const authConfiguration = new Configuration({
apiKey: authProvider.fetchProjectScopedToken.bind(authProvider)
})
const api = new AllowListApi(authConfiguration)
const { data } = await api.listAllowedGroups()Glad to hear it. Thanks for letting us know.
Sorry to hear that. Thanks for letting us know.