-
Notifications
You must be signed in to change notification settings - Fork 394
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: added documentation for the patreon oauth provider (#1211)
Co-authored-by: Tom Papiernik <[email protected]>
- Loading branch information
1 parent
e7d00d9
commit 296a597
Showing
2 changed files
with
90 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
--- | ||
id: patreon | ||
title: Add Patreon as a social sign-in provider in Ory | ||
sidebar_label: Patreon | ||
--- | ||
|
||
# Patreon | ||
|
||
```mdx-code-block | ||
import JsonnetWarning from '../../_common/jsonnetwarning.mdx' | ||
``` | ||
|
||
Follow these steps to add Patreon as a social sign-in provider to your project using the Ory CLI: | ||
|
||
1. Create a [Patreon OAuth2 client](https://www.patreon.com/portal/registration/register-clients). | ||
2. In the client configuration, set the redirect URI to: | ||
|
||
```shell | ||
https://{project.slug}.projects.oryapis.com/self-service/methods/oidc/callback/patreon | ||
``` | ||
|
||
3. Create a Jsonnet code snippet to map the desired claims to the Ory Identity schema. | ||
|
||
```jsonnet | ||
local claims = std.extVar('claims'); | ||
{ | ||
identity: { | ||
traits: { | ||
[if "email" in claims then "email" else null]: claims.email, | ||
}, | ||
}, | ||
} | ||
``` | ||
|
||
:::tip | ||
|
||
Ory Identities supports the following Patreon claims: `Subject`, `Email`, `Name`, `GivenName`, `FamilyName`, `LastName`, | ||
`Picture`. To learn more, read [Patreon OAuth docs.](https://docs.patreon.com/#apiv2-oauth) | ||
|
||
::: | ||
|
||
```mdx-code-block | ||
<JsonnetWarning format="Jsonnet code snippets" use="data mapping" /> | ||
``` | ||
|
||
4. Encode the Jsonnet snippet with [Base64](https://www.base64encode.org/) or host it under an URL accessible to The Ory Network. | ||
|
||
```shell | ||
cat your-data-mapping.jsonnet | base64 | ||
``` | ||
|
||
5. Download the Ory Identities config from your project and save it to a file: | ||
|
||
```shell | ||
## List all available projects | ||
ory list projects | ||
|
||
## Get config | ||
ory get identity-config {project-id} --format yaml > identity-config.yaml | ||
``` | ||
|
||
6. 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. | ||
|
||
```yaml | ||
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 | ||
``` | ||
|
||
7. Update the Ory Identities configuration using the file you worked with: | ||
|
||
```shell | ||
ory update identity-config {project-id} --file identity-config.yaml | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters