Skip to content

Commit 2a7158e

Browse files
authored
Merge branch 'main' into devalog/smart-casing
2 parents 6bb74d0 + 4680bec commit 2a7158e

28 files changed

+325
-151
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## 0.86.0
2+
**`(fix):`** Fern definition: use request bodies as reference even when only used once
3+
4+
5+
## 0.85.1
6+
**`(fix):`** Fix: LICENSE file mounting in Docker containers during local generation
7+
8+

fern/products/docs/docs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,10 @@ navigation:
199199
- page: Role based access control (RBAC)
200200
path: ./pages/authentication/rbac.mdx
201201
slug: rbac
202+
- page: Set up OAuth
203+
path: ./pages/authentication/set-up-oauth.mdx
204+
hidden: true
205+
slug: set-up-oauth
202206
- page: API key injection
203207
path: ./pages/api-references/autopopulate-api-key.mdx
204208
- page: SSO
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: Set up OAuth
3+
subtitle: Integrate your OAuth provider with Fern Docs
4+
---
5+
6+
<Steps>
7+
<Step title="Create an OAuth client">
8+
Go to your OAuth provider's dashboard. Create a new **web application** client. This is the client that will be used by Fern to authenticate users with your OAuth provider.
9+
</Step>
10+
11+
<Step title="Allowlist Fern callbacks">
12+
You will need to allowlist the following callback in your OAuth provider:
13+
`https://<your-domain>/api/fern-docs/oauth2/callback`.
14+
15+
Replace `<your-domain>` with whatever domain you are using for your Fern Docs site. If you want to authenticate both your `.docs.buildwithfern.com` and custom domain, you will need to allowlist both.
16+
</Step>
17+
18+
<Step title="Send OAuth client details to Fern">
19+
Fern will need the following details to configure OAuth authentication:
20+
- [ ] Docs domain
21+
- [ ] Client ID
22+
- [ ] Client secret
23+
- [ ] Authorization URL (e.g. `https://<your-oauth-tenant>/oauth2/authorize`)
24+
- [ ] Token URL (e.g. `https://<your-oauth-tenant>/oauth2/token`)
25+
- [ ] Scopes (e.g. `openid`, `profile`, `email`)
26+
- [ ] Issuer URL (e.g. `https://<your-domain>`)
27+
28+
Send these details to [email protected] or in your dedicated Slack channel.
29+
</Step>
30+
31+
<Step title="Wait for Fern to configure OAuth">
32+
Wait for Fern to configure OAuth. You will receive a notification when the site is ready to use authentication.
33+
</Step>
34+
35+
<Step title="Add a custom claim to set user roles">
36+
Add a custom claim to your OAuth provider's token response. This claim will be used to set the user's roles in Fern Docs. The resulting token response should look something like this:
37+
38+
```json {12-15}
39+
{
40+
"iss": "https://your-tenant.us.auth0.com/",
41+
"sub": "auth0|507f1f77bcf86cd799439011",
42+
"aud": "your_client_id_here",
43+
"iat": 1728388800,
44+
"exp": 1728475200,
45+
"email": "[email protected]",
46+
"email_verified": true,
47+
"name": "John Doe",
48+
"nickname": "johndoe",
49+
"picture": "https://s.gravatar.com/avatar/...",
50+
"roles": [
51+
"custom-role",
52+
"user-specific-role"
53+
]
54+
}
55+
```
56+
57+
<AccordionGroup>
58+
<Accordion title="Using Auth0">
59+
To add a custom claim to Auth0, you need to create a **custom action**. This action will be used to add the custom claim to the token response.
60+
61+
1. Go to the **Actions** tab in the Auth0 dashboard.
62+
2. Create a **Custom Action**.
63+
3. Select **Login/Post Login**.
64+
4. Add logic to set a roles.
65+
5. Click **Create**.
66+
6. Add the action to your **Post Login Flow**.
67+
</Accordion>
68+
<Accordion title="Using another provider">
69+
If you are using a different OAuth provider, please reach out to Fern with any questions on setting up a custom claim.
70+
</Accordion>
71+
</AccordionGroup>
72+
</Step>
73+
74+
<Step title="Add roles to your docs">
75+
See [RBAC](/docs/authentication/rbac#set-up-rbac) for more information on how to add roles to your docs.
76+
</Step>
77+
78+
</Steps>

fern/products/docs/pages/navigation/products.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ products:
188188
```
189189
</CodeBlock>
190190

191+
<Markdown src="/snippets/default-version.mdx" />
192+
191193
</Step>
192194
<Step title="Indicate availability">
193195

fern/products/docs/pages/navigation/versions.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Version-specific `yml` files:
4444
</Step>
4545
<Step title="Add your version configuration">
4646

47-
Define a version in the top-level `docs.yml` by adding an item to the `versions` list and specifying the `display-name` and `path`.
47+
Define a version in the top-level `docs.yml` by adding an item to the `versions` list and specifying the `display-name` and `path`.
4848

4949
<CodeBlock title="docs.yml">
5050
```yaml
@@ -55,6 +55,9 @@ versions:
5555
path: ./versions/v2.yml
5656
```
5757
</CodeBlock>
58+
59+
<Markdown src="/snippets/default-version.mdx" />
60+
5861
</Step>
5962
<Step title="Indicate availability">
6063

fern/products/sdks/overview/csharp/configuration.mdx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: .NET Configuration
2+
title: .NET configuration
33
description: Configuration options for the Fern .NET SDK.
44
---
55

@@ -15,8 +15,6 @@ groups:
1515
client_class_name: YourApiClient
1616
```
1717
18-
## SDK configuration options
19-
2018
<ParamField path="additional-properties" type="boolean" required={false} toc={true}>
2119
When enabled, allows handling of additional properties not explicitly defined in the API specification. This provides flexibility for APIs that may include extra fields in responses.
2220
</ParamField>

fern/products/sdks/overview/go/changelog/2025-10-08.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.13.13
2+
**`(fix):`** final fix for embedded local packages
3+
4+
15
## 1.13.12
26
**`(fix):`** must pin wiremock indirect dependencies to later fixed versions
37

fern/products/sdks/overview/go/configuration.mdx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Go Configuration
2+
title: Go configuration
33
description: Configuration options for the Fern Go SDK.
44
---
55

@@ -18,8 +18,6 @@ groups:
1818
path: ../generated/go
1919
```
2020
21-
## SDK Configuration Options
22-
2321
<ParamField path="alwaysSendRequiredProperties" type="boolean" required={false} toc={true}>
2422
When enabled, ensures that all required properties are always included in API requests, even if they have default values or are otherwise optional in the implementation.
2523
</ParamField>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## 3.8.9
2+
**`(fix):`** Fixed dynamic snippets incorrectly placing HTTP headers in request builders. Headers now correctly
3+
use RequestOptions.builder().addHeader() for body requests.
4+
5+

fern/products/sdks/overview/java/configuration.mdx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Java Configuration
2+
title: Java configuration
33
description: Configuration options for the Fern Java SDK.
44
---
55
You can customize the behavior of the Java SDK generator in `generators.yml`:
@@ -14,8 +14,6 @@ groups:
1414
client-class-name: YourApiClient
1515
```
1616
17-
## SDK Configuration Options
18-
1917
<ParamField path="base-api-exception-class-name" type="string" required={false} toc={true}>
2018
Customizes the name of the base API exception class that all API-specific exceptions will extend. This allows you to define a custom base exception class name for better integration with your existing error handling patterns.
2119
</ParamField>

0 commit comments

Comments
 (0)