# Interface: WebBasicAuthentication

Defined in: [types.ts:720](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L720)

Authenticate using HTTP Basic authorization. The user provides a username and password (sometimes optional) which are included as an HTTP header according to the Basic auth standard.

## Example

```
pack.setUserAuthentication({
  type: sdk.AuthenticationType.WebBasic,
});
```

## See

- [Authenticating with other services - Username and password](https://head.coda.io/packs/build/latest/guides/basics/authentication/#username-and-password)
- [Authentication samples - Username and password](https://head.coda.io/packs/build/latest/samples/topic/authentication/#username-and-password)
- [Wikipedia - Basic access authentication](https://en.wikipedia.org/wiki/Basic_access_authentication)

## Extends

- [`BaseAuthentication`](../BaseAuthentication/)

## Properties

### endpointDomain?

> `optional` **endpointDomain**: `string`

Defined in: [types.ts:283](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L283)

When requiresEndpointUrl is set to true, this should be the root domain that all endpoints share. For example, this value would be "example.com" if specific endpoints looked like {custom-subdomain}.example.com.

For packs that make requests to multiple domains (uncommon), this should be the domain within [PackVersionDefinition.networkDomains](../PackVersionDefinition/#networkdomains) that this configuration applies to.

#### Inherited from

[`BaseAuthentication`](../BaseAuthentication/).[`endpointDomain`](../BaseAuthentication/#endpointdomain)

______________________________________________________________________

### getConnectionName?

> `optional` **getConnectionName**: [`MetadataFormula`](../../type-aliases/MetadataFormula/)

Defined in: [types.ts:251](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L251)

A function that is called when a user sets up a new account, that returns a name for the account to label that account in the UI. The user's credentials are applied to any fetcher requests that this function makes. Typically, this function makes an API call to an API's "who am I" endpoint and returns a username.

If omitted, or if the function returns an empty value, the account will be labeled with the creating user's Coda username.

#### Inherited from

[`BaseAuthentication`](../BaseAuthentication/).[`getConnectionName`](../BaseAuthentication/#getconnectionname)

______________________________________________________________________

### instructionsUrl?

> `optional` **instructionsUrl**: `string`

Defined in: [types.ts:266](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L266)

A link to a help article or other page with more instructions about how to set up an account for this pack.

#### Inherited from

[`BaseAuthentication`](../BaseAuthentication/).[`instructionsUrl`](../BaseAuthentication/#instructionsurl)

______________________________________________________________________

### networkDomain?

> `optional` **networkDomain**: `string` | `string`[]

Defined in: [types.ts:297](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L297)

Which domain(s) should get auth credentials, when a pack is configured with multiple domains. Packs configured with only one domain or with requiresEndpointUrl set to true can omit this.

Using multiple authenticated network domains is uncommon and requires Superhuman approval.

#### Inherited from

[`BaseAuthentication`](../BaseAuthentication/).[`networkDomain`](../BaseAuthentication/#networkdomain)

______________________________________________________________________

### postSetup?

> `optional` **postSetup**: [`SetEndpoint`](../SetEndpoint/)[]

Defined in: [types.ts:289](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L289)

One or more setup steps to run after the user has set up the account, before completing installation of the pack. This is not common.

#### Inherited from

[`BaseAuthentication`](../BaseAuthentication/).[`postSetup`](../BaseAuthentication/#postsetup)

______________________________________________________________________

### requiresEndpointUrl?

> `optional` **requiresEndpointUrl**: `boolean`

Defined in: [types.ts:274](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L274)

If true, indicates this pack has a specific endpoint domain for each account, that is used as the basis of HTTP requests. For example, API requests are made to .example.com rather than example.com. If true, the user will be prompted to provide their specific endpoint domain when creating a new account.

#### Inherited from

[`BaseAuthentication`](../BaseAuthentication/).[`requiresEndpointUrl`](../BaseAuthentication/#requiresendpointurl)

______________________________________________________________________

### type

> **type**: [`WebBasic`](../../enumerations/AuthenticationType/#webbasic)

Defined in: [types.ts:722](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L722)

Identifies this as WebBasic authentication.

______________________________________________________________________

### uxConfig?

> `optional` **uxConfig**: `object`

Defined in: [types.ts:726](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/types.ts#L726)

Configuration for labels to show in the UI when the user sets up a new account.

#### placeholderPassword?

> `optional` **placeholderPassword**: `string`

A placeholder value for the text input where the user will enter a password.

#### placeholderUsername?

> `optional` **placeholderUsername**: `string`

A placeholder value for the text input where the user will enter a username.

#### usernameOnly?

> `optional` **usernameOnly**: `boolean`

If true, only a username input will be shown to the user. Some services pass API keys in the username field and do not require a password.
