Patreon
Follow these steps to add Patreon as a social sign-in provider to your project using the Ory CLI:
-
Create a Patreon OAuth2 client.
-
In the client configuration, set the redirect URI to:
https://{project.slug}.projects.oryapis.com/self-service/methods/oidc/callback/patreon
-
Create a Jsonnet code snippet to map the desired claims to the Ory Identity schema.
local claims = std.extVar('claims');
{
identity: {
traits: {
[if "email" in claims then "email" else null]: claims.email,
},
},
}tipOry Identities supports the following Patreon claims:
Subject
,Email
,Name
,GivenName
,FamilyName
,LastName
,Picture
. To learn more, read Patreon OAuth docs.<JsonnetWarning format="Jsonnet code snippets" use="data mapping" />
-
Encode the Jsonnet snippet with Base64 or host it under an URL accessible to Ory Network.
cat your-data-mapping.jsonnet | base64
-
Download the Ory Identities config from your project and save it to a file:
## List all available projects
ory list projects
## Get config
ory get identity-config {project-id} --format yaml > identity-config.yaml -
Add the social sign-in provider configuration to the downloaded config. Add the Jsonnet snippet with mappings as a Base64 string or provide an URL to the file.
selfservice:
methods:
oidc:
enabled: true
config:
providers:
- id: patreon # this is `<provider-id>` in the Authorization callback URL. DO NOT CHANGE IT ONCE SET!
provider: patreon
client_id: .... # Replace this with the OAuth2 Client ID provided by Patreon
client_secret: .... # Replace this with the OAuth2 Client Secret provided by Patreon
mapper_url: "base64://{YOUR_BASE64_ENCODED_JSONNET_HERE}"
# Alternatively, use an URL:
# mapper_url: https://storage.googleapis.com/abc-cde-prd/9cac9717f007808bf17f22ce7f4295c739604b183f05ac4afb4
scope:
- identity
- identity[email]
# Visit Patreon documentation for a full list of supported scopes: https://docs.patreon.com/#scopes -
Update the Ory Identities configuration using the file you worked with:
ory update identity-config {project-id} --file identity-config.yaml
Troubleshooting
When you add a social sign-in provider, you can encounter common problems such as:
- Redirect URI mismatch
- Redirect loops during registration
- Domain verification issues
To troubleshoot those issues, read Social sign-in troubleshooting.