Skip to content

Commit 1a14a4c

Browse files
author
Brett Chaldecott
committed
Merge branch 'main' into feat/python-v2
2 parents e8a32af + 562dee0 commit 1a14a4c

File tree

22 files changed

+444
-323
lines changed

22 files changed

+444
-323
lines changed

astro.config.mjs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ export default defineConfig({
3737
redirects: {
3838
"/developer-tools/kinde-api/register-manage-apis/":
3939
"/developer-tools/your-apis/register-manage-apis/",
40-
"/developer-tools/kinde-api/protect-your-api/": "/developer-tools/your-apis/protect-your-api/",
40+
"/developer-tools/kinde-api/protect-your-api/":
41+
"/developer-tools/your-apis/protect-your-api/",
4142
"/developer-tools/kinde-api/access-to-your-api/":
4243
"/developer-tools/your-apis/access-to-your-api/",
4344
"/developer-tools/kinde-api/custom-api-scopes/":
@@ -51,7 +52,13 @@ export default defineConfig({
5152
"/developer-tools/kinde-api/test-the-connection-to-kindes-api/":
5253
"/developer-tools/kinde-api/troubleshoot-kinde-api/",
5354
"/developer-tools/sdks/native/expo-react-native/":
54-
"/developer-tools/sdks/native/expo/"
55+
"/developer-tools/sdks/native/expo/",
56+
"/design/pages/design-your-welcome-pages/":
57+
"/design/brand/apply-branding-for-an-organization/",
58+
"/developer-tools/guides/deploy-on-vercel/kinde.com/":
59+
"/developer-tools/guides/deploy-on-vercel/",
60+
"/design/pages/set-language-for-pages/":
61+
"/design/content-customization/set-language-for-pages/"
5562
},
5663
markdown: {
5764
rehypePlugins: [

src/content/docs/authenticate/custom-configurations/custom-authentication-pages.mdx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@ relatedArticles:
1010
- 8b9376c4-308c-4eaa-a990-606fb8bbf770
1111
---
1212

13-
You can bring your own custom sign up and sign in pages to use with Kinde. Integrate your own designs for the initial sign up and sign in page, and still get the security of Kinde’s auth (and verification) process.
13+
You can host your own custom sign up and sign in pages to use with Kinde. Integrate your own designs for the initial sign up and sign in page, and still get the security of Kinde’s auth (and verification) process.
1414

15-
This gives you the best of both worlds: the security of hosted auth, and the ability to customize the sign-up experience for your users.
15+
This gives you the best of both worlds: the security of hosted auth, and the ability to customize the initial sign-up experience for your users.
16+
17+
<Aside title="Customizing the entire authentication experience">
18+
19+
Bring your own HTML / CSS and JavaScript to our hosted pages [with Kinde's custom UI feature](/design/customize-with-code/customize-with-css-html/).
20+
21+
</Aside>
1622

1723
## Custom sign in for social authentication
1824

@@ -104,14 +110,14 @@ Here is an example using React.
104110

105111
```jsx
106112
<button
107-
onClick={() =>
108-
login({
109-
connectionId: "conn_e5f80aa5258e4685bf629b38003ee954",
110-
loginHint: "[email protected]"
111-
})
112-
}
113+
onClick={() =>
114+
login({
115+
connectionId: "conn_e5f80aa5258e4685bf629b38003ee954",
116+
loginHint: "[email protected]"
117+
})
118+
}
113119
>
114-
Sign in with email
120+
Sign in with email
115121
</button>
116122
```
117123

src/content/docs/authenticate/enterprise-connections/mapping-users-enterprise.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Webhooks are a method of being notified when an event occurs in Kinde, e.g. a us
7575
Here’s some examples of webhook events that can be used to keep your users in sync:
7676

7777
- `user.created` - when a user is created in Kinde either via the admin UI or registering
78-
- `user.updated` - when a user is added to an organization, their roles or permissions change, or when their assigned properties change
78+
- `user.updated` - when a user is added to an organization, or their roles or permissions change
7979
- `user.deleted` - when a user is deleted via the UI or via the API
8080

8181
Here’s an example json schema for user.updated that could be used to sync your data:

src/content/docs/build/set-up-options/run-multiple-businesses.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ You can run multiple businesses on Kinde. This is helpful if you want to create
1616

1717
## **Add a new business**
1818

19-
1. Select your profile in the bottom left of the Kinde home screen.
19+
1. Select your business profile in the bottom left of the Kinde home screen.
2020
2. From the menu, select **Switch business**. A screen showing all your businesses opens.
2121
3. Select **Add business**.
2222
4. Complete the form, including your preferred Kinde domain and data storage region. These details cannot be changed later.
@@ -25,7 +25,7 @@ You can run multiple businesses on Kinde. This is helpful if you want to create
2525

2626
## **Switch between businesses**
2727

28-
1. Select your profile in the bottom left of the Kinde home screen.
28+
1. Select your business profile in the bottom left of the Kinde home screen.
2929
2. From the menu, select **Switch business*. A screen showing all your businesses opens.
3030
3. Select the one you want to work in. The business loads.
3131

src/content/docs/design/brand/global-brand-defaults.mdx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,7 @@ The logo will be automatically linked to the [Redirect URL](/get-started/connec
4848

4949
Favicons are small icons that appear on browser tabs. To add them to Kinde, they must measure 48x48px (or multiples of, such as 96x96).
5050

51-
<img
52-
src="https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/310d10e2-ab73-4aec-9872-7352aca57200/public"
53-
alt=""
54-
width="672px"
55-
height="auto"
56-
fetchpriority="low"
57-
loading="lazy"
58-
decoding="async"
59-
/>
51+
![image of browsere favicons](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/f4cc6e0f-3f87-46af-f99d-7c4910602600/public)
6052

6153
1. In Kinde, go to **Design > Global > Brand**.
6254
2. In the **Favicon** section:

src/content/docs/design/customize-with-code/understand-page-design.mdx

Lines changed: 78 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ If you are using React for templating, note this code is rendered on the server.
144144
145145
</Aside>
146146
147-
### Page structure in the Git directory
147+
## Page structure in the Git directory
148148
149149
The code for your pages must live in a GitHub repository (other git providers to be supported later). Your directory structure in the repo is critical to Kinde being able to run your design code.
150150
@@ -162,7 +162,7 @@ myApp/
162162
└── kinde.json
163163
```
164164
165-
### Kinde.json
165+
## Kinde.json
166166
167167
The `kinde.json` file defines the config for all custom code in Kinde, including workflows and custom pages. A typical config file will look as follows:
168168
@@ -177,25 +177,93 @@ The `kinde.json` file defines the config for all custom code in Kinde, including
177177
178178
`version` - based on the date when the API version was released. Any breaking changes will be released in a new API version.
179179
180-
### Which pages can I customize?
180+
## Which pages can I customize?
181181
182182
All Kinde hosted pages can be customized and use url route mapping to determine which template to use.
183183
184184
If a specific mapped route does not exist, a special route called `(default)` will be rendered. Set up the `(default)` page to ensure all your pages follow this design unless you have overridden them with custom code.
185185
186-
Available routes:
186+
<Aside type="warning">
187187
188-
`(default)` - The page template that will be used for all Kinde hosted pages when a specific one cannot be found.
188+
Once you start customizing pages, it's on you not to break them. We recommend always applying custom code to pages in a non-prod environment first.
189189
190-
`(register)` - The sign up page
190+
</Aside>
191+
192+
### Common pages
193+
194+
These are the most frequently used or fallback pages.
195+
196+
* `(default)` – Fallback template used when a specific page is not found.
197+
* `(register)` – The sign-up page.
198+
* `(login)` – The sign-in page.
199+
* `(index)` – Landing page when visiting the root domain (e.g. `https://<yourdomain>.kinde.com`).
200+
201+
### Authentication
202+
203+
Pages involved in initiating authentication flows.
204+
* `(register)` – The sign-up page.
205+
* `(login)` – The sign-in page.
206+
* `(sso_home_realm)` – Displayed when a user selects “Continue with SSO” to choose their identity provider.
207+
* `(provide_email)` – Shown when using a social login provider that does not return an email address.
208+
* `(clickwrap)` – Displays terms and conditions or agreements that must be accepted.
209+
210+
### Password flows
211+
212+
Used in password-based authentication and recovery.
213+
214+
* `(verify_password)` – Shown during sign-in when using a password-based method.
215+
* `(set_password)` – Shown during a password-based sign-up flow.
216+
* `(reset_password_verify_email_otp)` – First step of the reset flow where the user verifies identity using an email OTP.
217+
* `(reset_password)` – Password entry screen shown after verification during the reset flow.
218+
219+
### One-Time Passcode (OTP) verification
220+
221+
Used in sign-in and sign-up flows with OTP (email or phone).
222+
223+
* `(sign_in_use_email_otp)` – Sign in with a one-time email code.
224+
* `(sign_up_use_email_otp)` – Sign up with a one-time email code.
225+
* `(sign_in_sign_up_use_phone_otp)` – Sign in or sign up with a one-time phone code.
226+
227+
### Multi-Factor Authentication (MFA)
228+
229+
Shown after primary authentication when MFA is required or being set up.
230+
231+
* `(mfa_method_selection)` – User selects their preferred MFA method.
232+
* `(mfa_authenticator_app)` – Setup screen for using an authenticator app.
233+
* `(mfa_setup_email)` – Setup screen for email-based MFA.
234+
* `(mfa_setup_phone)` – Setup screen for phone-based MFA.
235+
* `(mfa_use_email_otp)` – Enter a one-time email code for MFA.
236+
* `(mfa_use_phone_otp)` – Enter a one-time phone code for MFA.
237+
* `(mfa_use_recovery_code)` – Enter a recovery code if unable to use other MFA methods.
238+
* `(mfa_view_recovery_codes)` – View and save MFA recovery codes.
239+
240+
### Billing (coming soon)
241+
242+
Pages related to choosing a plan and making a payment.
243+
244+
* `(choose_plan)` – User selects a subscription plan.
245+
* `(collect_payment_details)` – User enters billing information.
246+
* `(subscription_success)` – Confirmation page shown after successful subscription.
247+
248+
### Early access
249+
250+
Pages for gated access to your product before full launch.
251+
252+
* `(request_access)` – Request early access to your product.
253+
* `(request_access_success)` – Confirmation page after a request is submitted.
254+
255+
### Error pages
191256

192-
`(login)` - The sign in page
257+
Shown when a user encounters an error state.
193258

194-
`(index)` - If someone visits the root domain for your business, e.g. `https://<yourdomain>.kinde.com`
259+
* `(account_locked)` – The user’s account has been locked.
260+
* `(account_not_found)` – No account was found for the entered credentials.
261+
* `(invalid_redirect_url)` – The redirect URL is invalid or not on the allowed list.
262+
* `(error)` – Generic error screen.
195263

196264
If you want specific customization for a page not listed here, reach out and let us know.
197265

198-
### Set the page default export function
266+
## Set the page default export function
199267

200268
Your `page.[ext]` file should contain a default export. It doesn’t matter what this is called, but the general convention is to call it `Page`. This is provided a single `event` argument which is an object containing 2 keys `context` and `request`.
201269

@@ -225,7 +293,7 @@ The top level `context` key object contains information about the page itself, l
225293
- `description` the page description
226294
- `logoAlt` the alt text for your company logo
227295

228-
### Page settings
296+
## Page settings
229297

230298
Sometimes additional information needs to be passed to Kinde from your page. You can use the page settings object for this.
231299

src/content/docs/developer-tools/sdks/backend/typescript-sdk.mdx

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -482,41 +482,9 @@ After the user has successfully logged in, you will have a JSON Web Token (JWT)
482482
const accessToken = await kindeClient.getToken(sessionManager);
483483
```
484484

485-
## **Kinde Management API**
485+
## Kinde Management API
486486

487-
The sections below relate to how to call the Kinde Management API. You need to [add a machine to machine application](/developer-tools/kinde-api/connect-to-kinde-api/) and [get an access token to connect](/developer-tools/kinde-api/connect-to-kinde-api/):
488-
489-
```typescript
490-
import {
491-
Configuration,
492-
GrantType,
493-
UsersApi,
494-
createKindeServerClient
495-
} from "@kinde-oss/kinde-typescript-sdk";
496-
497-
const kindeApiClient = createKindeServerClient(GrantType.CLIENT_CREDENTIALS, {
498-
authDomain: "https://<your_kinde_subdomain>.kinde.com",
499-
clientId: "<your_kinde_client_id>",
500-
clientSecret: "<your_kinde_client_secret>",
501-
logoutRedirectURL: "http://localhost:3000",
502-
audience: "https://<your_kinde_subdomain>.kinde.com/api",
503-
scope: ""
504-
});
505-
506-
const token = await kindeApiClient.getToken(sessionManager);
507-
508-
const config = new Configuration({
509-
basePath: "https://<your_kinde_subdomain>.kinde.com",
510-
accessToken: token,
511-
headers: {Accept: "application/json"}
512-
});
513-
514-
const apiInstance = new UsersApi(config);
515-
516-
const result = await apiInstance.getUsers({
517-
pageSize: 5
518-
});
519-
```
487+
To use our management API please see [@kinde/management-api-js](https://github.com/kinde-oss/management-api-js)
520488

521489
## **SDK API reference**
522490

src/content/docs/get-started/switch-to-kinde/auth0-to-kinde.mdx

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This guide is designed to help you migrate from Auth0 to Kinde.
1212

1313
Switching between providers for any service can be daunting, and especially where user data is involved. We’ll walk you through the process or migrating, to take some of the pain away.
1414

15-
If you’ve got a lot of users (your export file is over 5MB) or are concerned about file size limits, you can contact us to ensure the import goes smoothly.
15+
If you’ve got a lot of users (your export file is over 20MB) or are concerned about file size limits, you can contact us to ensure the import goes smoothly.
1616

1717
## Still not sure about moving to Kinde?
1818

@@ -46,20 +46,32 @@ You'll now see it in your list of installed extensions. The first time you launc
4646
File format guidelines:
4747

4848
- User details and passwords must be in NDJSON (Newline Delimited JSON) format
49-
- Import file size limit is 5MB. You may need to split the file if the exported size exceeds this.
49+
- Import file size limit is 20MB. You may need to split the file if the exported size exceeds this.
5050

5151
### Supported auth methods
5252

5353
Kinde supports migrating the following authentication methods from Auth0: Usernames, Email, Phone, Google, Apple, Microsoft, Facebook, GitHub, Twitch, Bitbucket. If you need to migrate another authentication type from Auth0 please get in touch with support.
5454

55+
Auth methods are shown in the `connection` attribute. These are represented as follows in the identity array:
56+
57+
- Username-Password-Authentication
58+
- email
59+
- sms
60+
- google-oauth2
61+
- github
62+
- twitch
63+
- facebook
64+
- bitbucket
65+
- windowslive
66+
5567
### Can’t get the passwords from Auth0?
5668

57-
Some Auth0 plans don’t allow password exports, or you might not want to wait 2 weeks for the json file. If this is the case, import the user data you’re able to, and Kinde will ask users to set a new password the next time they sign in.
69+
Some Auth0 plans don’t allow password exports, or you might not want to wait 2 weeks for the file. If this is the case, import the user data you’re able to, and Kinde will ask users to set a new password the next time they sign in.
5870

5971
### Export Auth0 data
6072

6173
1. Launch the extension by selecting **Import / Export Extension.**
62-
2. **E**xport your existing Auth0 users associated with database connections, select **Export**.
74+
2. Export your existing Auth0 users associated with database connections, select **Export**.
6375

6476
![Auth0 export selections screen shot](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/0748f464-d46f-4455-20dc-8f1c677fbb00/public)
6577

@@ -87,7 +99,8 @@ Once the password hashes have been imported, your users will be able to sign in
8799

88100
### How Auth0 user identities are treated on import
89101

90-
Social identities without an email can be imported, and are identified by the identity type. You can import users with multiple identities, these will be listed under the user’s profile.
102+
Social identities without an email can be imported and are identified by the `connection` attribute.
103+
You can also import users with multiple identities; these will be listed under the user’s profile.
91104

92105
## After the migration
93106

src/content/docs/get-started/team-and-account/add-team-members.mdx

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,40 @@ app_context:
99

1010
You can invite other team members and give them access to your business on Kinde.
1111

12-
## Team member roles
12+
## Member roles
1313

14-
We’ve kept team roles simple. There’s really only two for now:
14+
We’ve kept roles simple. There’s really only two for now:
1515

1616
**Owner** - The person who creates the business in Kinde is automatically the Owner. They have the highest access level in the Kinde business. Only an owner can approve data export from Kinde.
1717

1818
**Admin** - All other team members in Kinde are created as Admins. They have access to all Kinde features, except data export approval.
1919

20-
## Add **a new team member**
20+
## Add a new member**
2121

2222
Owners and Admins can add other Admins.
2323

24-
Go to **Settings > Business > Team.** The **Team** page shows a list of all your team members.
25-
26-
1. Select **Add team member**.
27-
2. In the window that appears, enter the team member’s details.
28-
3. Select **Save**. Your team member will receive an email with an invitation to join your business on Kinde. They can set up an account or sign in to an existing account.
24+
1. On the Kinde home page, select the avatar menu on the bottom left, and then select **Business settings**.
25+
2. Select **Members** in the side menu.
26+
3. Select **Add member**.
27+
4. In the window that appears, enter the team member’s details.
28+
5. Select **Save**. Your team member will receive an email with an invitation to join your business on Kinde. They can set up an account or sign in to an existing account.
2929

3030
## Promote a team member to an Owner
3131

3232
To promote someone to an Owner role in your business, you will need to contact [email protected] (from an Owner email) and request that the new team member be promoted to the role of Owner.
3333

3434
## **Revoke an invitation**
3535

36-
1. Go to **Settings > Business > Team.** The **Team** page shows a list of all your invited members.
37-
2. Find the team member in the **Invited** list, select the three dots, then select **Revoke invitation**.
36+
1. On the Kinde home page, select the avatar menu on the bottom left, and then select **Business settings**.
37+
2. Select **Members** in the side menu.
38+
3. Find the team member in the list, they will have a tage showing 'invited' next to their name.
39+
4. Select the three dots, then select **Revoke invitation**.
3840

3941
## Delete **team member**
4042

41-
Owners and Admins can delete other Admins. Only Kinde can delete Owners, and only on request.
43+
Owners and Admins can delete other Admins. Only Kinde can delete Owners, and only on request and verification.
4244

43-
1. Go to **Settings > Business > Team.** The **Team** page shows a list of all your team members.
44-
2. Find the team member in the **Members** list, select the three dots, then select **Delete team member**.
45+
1. On the Kinde home page, select the avatar menu on the bottom left and then select **Business settings**.
46+
2. Select **Members** in the side menu.
47+
3. Find the team member in the list, select the three dots, then select **Delete team member**.
48+
4. Confirm the deletion when prompted.

0 commit comments

Comments
 (0)