## MedplumClient.signInWithExternalAuth() method [​](/content/docs/sdk/core.medplumclient.signinwithexternalauth#medplumclientsigninwithexternalauth-method/index.html)

Initiates sign in with an external identity provider.

**Signature:**

```typescript
signInWithExternalAuth(authorizeUrl: string, clientId: string, redirectUri: string, baseLogin: BaseLoginRequest, pkceEnabled?: boolean): Promise<void>;
```

## Parameters [​](/content/docs/sdk/core.medplumclient.signinwithexternalauth#parameters/index.html)

| Parameter      | Type   | Description                                                                 |
|----------------|--------|-----------------------------------------------------------------------------|
| authorizeUrl   | string | The external authorization URL.                                            |
| clientId       | string | The external client ID.                                                   |
| redirectUri    | string | The external identity provider redirect URI.                               |
| baseLogin      | [BaseLoginRequest](/content/docs/sdk/core.baseloginrequest) | The Medplum login request.                                                |
| pkceEnabled     | boolean | _(Optional)_ Whether `PKCE` should be enabled for this external auth request. Defaults to `true`. |

**Returns:**

Promise<void>

- [MedplumClient.signInWithExternalAuth() method](/content/docs/sdk/core.medplumclient.signinwithexternalauth#medplumclientsigninwithexternalauth-method/index.html)
- [Parameters](/content/docs/sdk/core.medplumclient.signinwithexternalauth#parameters/index.html)
