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! Please tell us how we can improve more.
Sorry to hear that. Please tell us how we can improve.
Thank you for sharing your feedback so we can improve your experience.