Requirements:
Review the Client documentation for details on what Clients and Commands are.
The Identities Client is an extension of the default client that is specifically designed for making Persons API calls.
Initializing the client is simple. The Identities Client can be configured with some options to override the default behavior if desired.
const client = new IdentitiesClient()
// or
const client = new IdentitiesClient({ /* options here */ })
Here are a list of supported options:
Option | Type | Default Value | Purpose |
---|---|---|---|
logger | Logger , from pino |
Pino() |
(Optional) Logging information from client functionality |
credentials | CredentialProvider |
ChainedCredentialProvider() |
(Optional) The credential provider used resolving access tokens |
retry | { strategy: RetryMiddlewareConfiguration } |
{ strategy: new RetryStrategy() } |
(Optional) Configures the retry middleware. The default configuration will attempt one retry when the response contains a 401 HTTP status code. |
The default credential provider is
the Client Credentials provider. Any of the parameters that it
accepts may be supplied via environment variables with the prefix BYU_OIT_
. If a different credential provider is
needed, such as the Authorization Code provider, it should be
configured and passed into the BYU Client constructor.
The default retry strategy retries once on 401 HTTP response codes after a 100-millisecond delay. The token middleware will try to get a new token before the request is sent. Any middleware added after the retry middleware will also be invoked prior to each request retry.
All commands are available as methods on the class for convenience. For example:
const data = await client.getIdentity({ byuId: '123456789' })
Currently only two commands are supported: GetIdentityCommand
and GetGroupMembershipsCommand
. PRs welcome!
Use this command to get information about a persons identity(ies)
(under the hood, the /{byu_id}
identities endpoint is called).
There is only one parameter: an object that contains a byuId
(string) and (optionally) a fieldSets
(string array).
const command = new GetIdentityCommand({
byuId: '903093516',
fieldSets: ['basic', 'group_memberships']
})
const data = await client.send(command)
See GetIdentityInput for a list of supported field sets.
See GetIdentityBasicOutput for information about the data that is returned.
Use this command to get information about a persons group memberships
(under the hood, the /{byu_id}/group_memberships
identities endpoint is called).
There is only one parameter: an object that contains a byuId
(string) and (optionally) a groupIds
(string array).
const command = new GetGroupMembershipsCommand({
byuId: '903093516',
groupIds: ['OIT-ALL']
})
const data = await client.send(command)
See GetGroupMembershipsOutput for information about the data that is returned.