Social Login
Let people sign in with an account they already have at Google, GitHub, Microsoft, Apple or any OpenID Connect provider, on the hosted pages or on your own login page.
How social login works
A person clicks Continue with Google, signs in at Google, and comes back signed in to your application, with no password of yours to set. The same works for GitHub, Microsoft, Apple and any OpenID Connect provider you add.
Set up a provider
Create the credentials at the provider, then add them in the Developer Console under Authentication, on the Social sign-in tab (step by step). At the provider, register the Callback URL the dialog shows as the redirect URI: the API's address followed by /v1/identity/auth/social/<name>/callback, where the name is google, github, microsoft, apple, or the Name in Canopy you give a custom provider.
| Provider | Credentials | What to enter | Verified email |
|---|---|---|---|
| An OAuth client ID of type Web application in the Google Cloud console. | Client ID and Client secret | An address Google reports as verified. | |
| GitHub | An OAuth app under Developer settings in GitHub. | Client ID and Client secret | The primary address GitHub has verified. |
| Microsoft | An application in the Microsoft Entra admin center, for accounts in any organization and personal Microsoft accounts. | Client ID and Client secret | A personal Microsoft account's address, or a work or school address on a domain its organization verified. Any other work address was typed by an administrator and does not count. |
| Apple | A Services ID and a Sign in with Apple key in your Apple Developer account. | Services ID, Team ID, Key ID and Private key (.p8) | An address Apple reports as verified. |
| Custom OpenID Connect | Register Canopy as a client of your provider. | Button label, Name in Canopy, Discovery URL, Client ID, Client secret and Scopes | An address the provider vouches for with email_verified, in the ID token or from its userinfo. |
Google, GitHub, Microsoft and Apple can each be added once per Environment, and up to 20 custom providers. A custom provider is saved off: run Test sign-in on it, and once a test succeeds, turn on Offer this provider at sign-in. Client secrets and Apple's key are write-only, and stored encrypted.
Which identity a sign-in reaches
Canopy works out who is signing in, in this order:
social.email_unverified.social.no_identity.Whichever way it is reached, the identity must be a member of the Environment and must not be deactivated (auth.account_deactivated). An identity its organization's single sign-on manages is never linked, by its email, from the security page or through the Direct API (social.identity_sso_managed); an account it had already linked still signs it in while its organization's policy allows that provider. Every refusal code is listed on the Direct API page.
Where people sign in
Organizations and MFA
Linked accounts
Tell us how we can improve this guide.