> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/membership/integrations/providers.md).

# Providers

The sign-in providers you can connect to Membership, and how to pick one.

**Where:** Membership → Integrations → **Add New Integration** · `/projects/<project>/membership/integrations/pick`

The picker is titled **Select "Membership" Integration**. Each card has **Connect**, **View documentation** and **See examples**; **Connect** opens the provider's form at `/membership/integrations/new/<provider>`.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-1a216b6f6aaf43d0e1c031a76e8b46547cdf13fa%2Fproviders-list-1.png?alt=media" alt="Select Membership Integration: cards Google Sign In, Apple Sign In, Microsoft Azure AD, GitHub OAuth App, Meta Facebook, X OAuth, Okta OAuth, each with Connect"><figcaption><p>The provider picker.</p></figcaption></figure>

## Columns, search and filters

| Provider                                                                               | Address part | What you bring                                                          |
| -------------------------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------------- |
| [Google Sign In](/codemash/cloud/membership/integrations/providers/google-sign-in.md)  | `google`     | OAuth 2.0 client id and secret from Google Cloud.                       |
| [Apple Sign In](/codemash/cloud/membership/integrations/providers/apple-sign-in.md)    | `apple`      | Team Id, App Bundle Identifier, Services Id, Key Id and the `.p8` key.  |
| [Microsoft (Azure AD)](/codemash/cloud/membership/integrations/providers/microsoft.md) | `microsoft`  | Tenant id, client id and client secret of an Entra ID app registration. |
| [GitHub](/codemash/cloud/membership/integrations/providers/github.md)                  | `github`     | Client id and secret of a GitHub OAuth App.                             |
| [Meta (Facebook)](/codemash/cloud/membership/integrations/providers/meta.md)           | `facebook`   | App id and app secret of a Meta app.                                    |
| [X (Twitter)](/codemash/cloud/membership/integrations/providers/x.md)                  | `x`          | API key and API secret key of an X app.                                 |
| [Okta](/codemash/cloud/membership/integrations/providers/okta.md)                      | `okta`       | Okta domain, client id and client secret.                               |

No search and no filters. You can connect the same provider more than once (for example one Google client per app).

## What you can do here

* Connect a provider — one page each: [Google Sign In](/codemash/cloud/membership/integrations/providers/google-sign-in.md) · [Apple Sign In](/codemash/cloud/membership/integrations/providers/apple-sign-in.md) · [Microsoft (Azure AD)](/codemash/cloud/membership/integrations/providers/microsoft.md) · [GitHub](/codemash/cloud/membership/integrations/providers/github.md) · [Meta (Facebook)](/codemash/cloud/membership/integrations/providers/meta.md) · [X (Twitter)](/codemash/cloud/membership/integrations/providers/x.md) · [Okta](/codemash/cloud/membership/integrations/providers/okta.md)
* [Disable or delete an integration](/codemash/cloud/membership/integrations/disable.md)

## Do it from code

```ts
const { id } = await norbix.hub.membership.saveMembershipIntegration({
  integration: {
    provider: 'GitHub',
    integrationName: 'GitHub sign-in (staging)',
    clientId: 'Iv1.example00000001',
    clientSecret: process.env.GITHUB_CLIENT_SECRET, // never in source code
    isEnabled: true,
    oAuthModes: [{ name: 'web', callbackUrl: 'https://staging.example.com/auth/github/callback' }],
  },
});
console.log(id); // int_…
```

```sh
norbix hub membership integration save --integration '{"provider":"GitHub","integrationName":"GitHub (staging)","isEnabled":true,"clientId":"Iv1.staging0000000","clientSecret":"your-github-client-secret"}'
```

`provider` is one of `Google`, `AppleSignIn`, `Microsoft`, `GitHub`, `Facebook`, `X`, `Okta`; the other fields are on each provider page. The client setup is on the [Membership page](/codemash/cloud/membership.md#use-it-from-code). API: [Save Membership Integration](/codemash/api-reference/membership/integrations/save-membership-integration.md)
