diff --git a/app/_how-tos/azure-saml-sso-insomnia.md b/app/_how-tos/azure-saml-sso-insomnia.md new file mode 100644 index 00000000..5171e1c5 --- /dev/null +++ b/app/_how-tos/azure-saml-sso-insomnia.md @@ -0,0 +1,89 @@ +--- +title: Configure Azure SAML SSO in Insomnia + +products: + - insomnia + +related_resources: + - text: Authentication & Authorization in Insomnia + url: /insomnia/authentication-authorization + - text: Configure Okta SAML SSO in Insomnia + url: /how-to/okta-saml-sso-insomnia + +tier: enterprise + +tags: + - sso + - third-party + - authentication + - security + +tldr: + q: How do I configure SSO with SAML 2.0 and Azure in Insomnia? + a: Obtain the single sign-on URL from the Insomnia SSO settings and add them to a new Microsoft Entra SAML Toolkit in Azure. Copy the Login URL and signing certificate from Azure and enter those in the Insomnia SSO settings. Finally, add users or groups to the Azure app integration and invite those same users to the Insomnia app. + +prereqs: + inline: + - title: Insomnia permissions + include_content: prereqs/insomnia-sso + icon_url: /assets/icons/insomnia/insomnia.svg + - title: Azure permissions + include_content: prereqs/azure-sso + icon_url: /assets/icons/azure.svg + - title: Domain permissions + include_content: prereqs/sso-domain + icon_url: /assets/icons/domain.svg +--- + +## 1. Create the SSO connection in Insomnia + +Before you can configure the SSO connection in Azure, you must start configuring the SSO settings in Insomnia so you have access to the single-sign on URL and audience URI for the Azure settings. + +1. In your Insomnia account settings, click your account at the top right and select **Enterprise Controls** from the dropdown. +1. Click **SSO** in the sidebar and then click **Create Connection**. +1. In the SSO settings, enter your company's domain. + +Keep this window open while you configure the settings in Azure. + +## 2. Add the Microsoft Entra SAML Toolkit and configure SSO settings + +Now that you have the single-sign on URL from Insomnia, you can create a new Microsoft Entra SAML Toolkit. + +1. In the [Microsoft Entra admin center](https://entra.microsoft.com/), create a new application and [add the Microsoft Entra SAML Toolkit from the gallery](https://learn.microsoft.com/entra/identity/saas-apps/saml-toolkit-tutorial#add-microsoft-entra-saml-toolkit-from-the-gallery). +1. Rename the toolkit "Insomnia SAML". +1. [Navigate to the SSO settings](https://learn.microsoft.com/entra/identity/saas-apps/saml-toolkit-tutorial#configure-microsoft-entra-sso) for the Microsoft Entra SAML toolkit you just created. +1. Configure the following SAML SSO settings: + + | Azure setting | Value | + |--------------|-------| + | Identifier (Entity ID) | The **Audience Restriction** field in the Insomnia SSO settings. | + | Reply URL | The **SSO URL** in the Insomnia SSO settings. | + | Sign on URL | The **SSO URL** in the Insomnia SSO settings. | +1. In the [Attributes & Claims settings section](https://learn.microsoft.com/en-us/entra/identity-platform/saml-claims-customization#view-or-edit-claims), add an attribute and configure the following attribute settings: + + | Azure field | Value | + |------|-------| + | Name | `Email` | + | Source attribute | `user.mail` | +1. In the Entra application, find and copy the **Login URL** and the base64 version of the signing certificate. These will be used in the Insomnia SSO settings. + +## 3. Enter the sign on URL and signing certificate in the SSO settings in Insomnia + +Now that Azure SSO is configured and you have the Login URL and certificate from Azure, you can finish configuring the SSO settings in Insomnia. + +1. In the Insomnia SSO settings, enter the Login URL and signing certificate from Azure. +1. To verify the connection, click **Create connection**. If the connection is successful, you will get a message that says "Your SAML connection has been successfully updated." + +## 4. Add users or groups to the application in Azure + +You can add users or groups to the application in Azure. They won't be allowed to log in with SSO yet though. + +In Azure, [assign users or groups to the app](https://learn.microsoft.com/entra/identity/enterprise-apps/assign-user-or-group-access-portal?pivots=portal#assign-users-and-groups-to-an-application-using-the-microsoft-entra-admin-center). + +## 5. Invite users to Insomnia + +Now that users or groups are assigned to the app in Azure, you can start inviting users to Insomnia. Once they accept the invite, they can log in to Insomnia with SSO. + +1. In your Insomnia account settings, click your account at the top right and select **Your organizations**. +1. Click the organization you configured SSO for. +1. Enter the emails of the users you added to the Azure app and click **Invite**. \ No newline at end of file diff --git a/app/_how-tos/okta-saml-sso-insomnia.md b/app/_how-tos/okta-saml-sso-insomnia.md new file mode 100644 index 00000000..6843b02d --- /dev/null +++ b/app/_how-tos/okta-saml-sso-insomnia.md @@ -0,0 +1,93 @@ +--- +title: Configure Okta SAML SSO in Insomnia + +products: + - insomnia + +related_resources: + - text: Authentication & Authorization in Insomnia + url: /insomnia/authentication-authorization + - text: Configure Azure SAML SSO in Insomnia + url: /how-to/azure-saml-sso-insomnia + +tier: enterprise + +tags: + - sso + - third-party + - authentication + - security + +tldr: + q: How do I configure SSO with SAML 2.0 and Okta in Insomnia? + a: Obtain the single sign-on URL and audience URI from the Insomnia SSO settings and add them to an application integration in Okta. Copy the sign on URL and signing certificate from Okta and enter those in the Insomnia SSO settings. Finally, add users or groups to the Okta app integration and invite those same users to the Insomnia app. + +prereqs: + inline: + - title: Insomnia permissions + include_content: prereqs/insomnia-sso + icon_url: /assets/icons/insomnia/insomnia.svg + - title: Okta permissions + include_content: prereqs/okta-sso + icon_url: /assets/icons/okta.svg + - title: Domain permissions + include_content: prereqs/sso-domain + icon_url: /assets/icons/domain.svg +--- + +## 1. Create the SSO connection in Insomnia + +Before you can configure the SSO connection in Okta, you must start configuring the SSO settings in Insomnia so you have access to the single-sign on URL and audience URI for the Okta settings. + +1. In your Insomnia account settings, click your account at the top right and select **Enterprise Controls** from the dropdown. +1. Click **SSO** in the sidebar and then click **Create Connection**. +1. In the SSO settings, enter your company's domain. + +Keep this window open while you configure the settings in Okta. + +## 2. Configure SAML 2.0 SSO in Okta + +Now that you have the single-sign on URL and audience URI from Insomnia, you can create a new app integration in Okta. + +1. Create a [new app integration in Okta](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_saml.htm). +1. For the Sign-in method, select **SAML 2.0**. +1. Configure the general settings as needed. +1. Configure the following app [SAML settings](https://help.okta.com/en-us/content/topics/apps/aiw-saml-reference.htm): + + | Okta setting | Value | + |--------------|-------| + | Single sign-on URL | Copy this from the SSO settings in Insomnia. | + | Audience URI (SP Entity ID) | Copy this from the SSO settings in Insomnia. | + | Name ID format | EmailAddress | + | Application username | Email | + | Update application username on | Create and update | +1. In the Attribute Statements, add the following attribute: + + | Name | Name format | Value | + |------|-------------|-------| + | `email` | Unspecified | user.email | +1. Save the new application. +1. In the application Sign On page, find and copy the **Sign on URL**. This will be used for the sign on URL in Insomnia. +1. [Create a signing certificate](https://help.okta.com/en-us/content/topics/apps/manage-signing-certificates.htm) for your app and copy the certificate. This will be used in the Insomnia SSO settings. + +## 3. Enter the sign on URL and signing certificate in the SSO settings in Insomnia + +Now that Okta SSO is configured and you have the sign on URL and certificate from Okta, you can finish configuring the SSO settings in Insomnia. + +1. In the Insomnia SSO settings, enter the sign on URL and signing certificate from Okta. +1. To verify the connection, click **Create connection**. If the connection is successful, you will get a message that says "Your SAML connection has been successfully updated." + +## 4. Add users or groups to the application in Okta + +You can add users or groups to the application in Okta. They won't be allowed to log in with SSO yet though. + +In Okta, [assign users or groups to the app integration](https://help.okta.com/en-us/content/topics/apps/apps-manage-assignments.htm). + +## 5. Invite users to Insomnia + +Now that users or groups are assigned to the app in Okta, you can start inviting users to Insomnia. Once they accept the invite, they can log in to Insomnia with SSO. + +1. In your Insomnia account settings, click your account at the top right and select **Your organizations**. +1. Click the organization you configured SSO for. +1. Enter the emails of the users you added to the Okta app and click **Invite**. + diff --git a/app/_includes/prereqs/azure-sso.md b/app/_includes/prereqs/azure-sso.md new file mode 100644 index 00000000..aff0267f --- /dev/null +++ b/app/_includes/prereqs/azure-sso.md @@ -0,0 +1,3 @@ +You need: +* A Microsoft Entra subscription that can enable the Microsoft Entra SAML Toolkit SSO +* Cloud Application Administrator or Application Administrator permissions \ No newline at end of file diff --git a/app/_includes/prereqs/insomnia-sso.md b/app/_includes/prereqs/insomnia-sso.md new file mode 100644 index 00000000..ee4272a4 --- /dev/null +++ b/app/_includes/prereqs/insomnia-sso.md @@ -0,0 +1,3 @@ +You need: +* Admin permissions for your org in Insomnia +* An organization created after activating your Enterprise license in Insomnia. You can create an org from the Insomnia account settings. \ No newline at end of file diff --git a/app/_includes/prereqs/okta-sso.md b/app/_includes/prereqs/okta-sso.md new file mode 100644 index 00000000..e4faaf8e --- /dev/null +++ b/app/_includes/prereqs/okta-sso.md @@ -0,0 +1 @@ +You need an admin account for [Okta](https://login.okta.com/). \ No newline at end of file diff --git a/app/_includes/prereqs/sso-domain.md b/app/_includes/prereqs/sso-domain.md new file mode 100644 index 00000000..167b171c --- /dev/null +++ b/app/_includes/prereqs/sso-domain.md @@ -0,0 +1 @@ +You need a domain you own as well as permissions to make DNS records. \ No newline at end of file diff --git a/app/_landing_pages/insomnia/authentication-authorization.yaml b/app/_landing_pages/insomnia/authentication-authorization.yaml new file mode 100644 index 00000000..0189544e --- /dev/null +++ b/app/_landing_pages/insomnia/authentication-authorization.yaml @@ -0,0 +1,83 @@ +metadata: + title: Authentication and authorization at Insomnia + breadcrumbs: + - /insomnia/ + description: Secure Insomnia with native or external authentication and authorization. + tags: + - authentication + - authorization + - whitelist + +rows: + - header: + type: h1 + text: "Authentication and authorization at Insomnia" + columns: + - blocks: + - type: structured_text + config: + blocks: + - type: text + text: "Secure Insomnia by setting up native or external authentication and configure authorization settings." + + - header: + type: h2 + text: "Authentication" + columns: + - blocks: + - type: structured_text + config: + blocks: + - type: text + text: | + To authenticate with Insomnia, you can use either external authentication (SSO) or native authentication to log in to the Insomnia app. For SSO, you can use any identity provider (IdP) that supports SAML 2.0. + + If you are looking for information about how to authenticate requests in Insomnia, see [Request authentication](/insomnia/request-authentication/). + + - columns: + - blocks: + - type: card + config: + title: Configure SSO with Microsoft Entra SAML + description: Learn how to configure Microsoft Entra as your SAML provider for SSO with Insomnia + icon: /assets/icons/azure.svg + cta: + text: Learn more + url: /how-to/azure-saml-sso-insomnia + align: end + - blocks: + - type: card + config: + title: Configure SSO with Okta SAML + description: Learn how to configure Okta as your SAML provider for SSO with Insomnia + icon: /assets/icons/okta.svg + cta: + text: Learn more + url: /how-to/okta-saml-sso-insomnia + align: end + + - header: + type: h2 + text: "Authorization" + columns: + - blocks: + - type: structured_text + config: + blocks: + - type: text + text: | + Authorization controls who can do what in Insomnia. + Authorization ensures users have the correct permissions and that you can access the Insomnia app through allowlisting domains. + + - columns: + - blocks: + - type: card + config: + title: Domain allowlist reference + description: Learn which domains to add to your allowlist so all Insomnia features work correctly + icon: /assets/icons/insomnia/allowlist.svg + cta: + text: Learn more + url: /insomnia/allowlist + align: end + diff --git a/app/_landing_pages/insomnia/collections.yaml b/app/_landing_pages/insomnia/collections.yaml index 44afdf13..6e26e892 100644 --- a/app/_landing_pages/insomnia/collections.yaml +++ b/app/_landing_pages/insomnia/collections.yaml @@ -78,6 +78,14 @@ rows: text: Learn more url: /how-to/chain-requests/ align: end + - blocks: + - type: card + config: + title: Request authentication + cta: + text: Learn more + url: /insomnia/request-authentication/ + align: end - header: type: h2 diff --git a/app/_landing_pages/insomnia/security.yaml b/app/_landing_pages/insomnia/security.yaml index 96642b60..c29a65bc 100644 --- a/app/_landing_pages/insomnia/security.yaml +++ b/app/_landing_pages/insomnia/security.yaml @@ -1,12 +1,14 @@ metadata: - title: Security at Insomnia - content_type: landing_page - description: This page is an introduction to security with Insomnia. + title: Insomnia Security Policies + description: "Find additional resources that explain how Insomnia prioritizes data protection through encryption, product and application security, and organizational measures." + breadcrumbs: + - /insomnia/ + tags: + - security rows: - header: type: h1 text: "Security at Insomnia" - sub_text: "Learn how Insomnia prioritizes data protection through encryption, product and application security, and organizational measures." - columns: - blocks: @@ -15,20 +17,19 @@ rows: blocks: - type: text text: | - Insomnia believes that it is your right to know how your sensitive project data is transported and handled, so this document is an effort to explain exactly how it works. - - If you find that any part of this document is incorrect, missing, or wrong, please don’t hesitate to reach out. + Insomnia believes that it is your right to know how your sensitive project data is transported and handled. + The sections on this page explain how Insomnia secures data and infrastructure, what data is collected, and how Insomnia responds to security incidents. - header: type: h2 - text: "Learn more about how Insomnia secures data" + text: "Learn more about Insomnia security" columns: - blocks: - type: card config: title: Data security - description: Learn about how Insomnia secures data - icon: /assets/icons/insomnia/design.svg + description: Learn about how Insomnia data is encrypted and what data models, keys, and salts are used + icon: /assets/icons/insomnia/data-security.svg cta: text: Learn more url: /insomnia/data-security @@ -38,7 +39,7 @@ rows: config: title: Infrastructure security description: Learn about what infrastructure security Insomnia uses - icon: /assets/icons/insomnia/checkbox-active.svg + icon: /assets/icons/insomnia/infrastructure-security.svg cta: text: Learn more url: /insomnia/infrastructure-security @@ -48,7 +49,7 @@ rows: config: title: Collected data description: Learn about what data Insomnia collects and how to opt out of data collection - icon: /assets/icons/insomnia/checkbox-active.svg + icon: /assets/icons/insomnia/data-collected.svg cta: text: Learn more url: /insomnia/collected-data @@ -58,42 +59,8 @@ rows: config: title: Incident response and vulnerability management description: Learn about how Insomnia reports incidents and how they manage security vulnerabilities - icon: /assets/icons/insomnia/checkbox-active.svg + icon: /assets/icons/insomnia/incident-response.svg cta: text: Learn more url: /insomnia/incident-response - align: end - - header: - type: h2 - text: "Key security features" - columns: - - blocks: - - type: card - config: - title: Enterprise Single Sign-On (SSO) - description: Learn about SSO security and see the different options to configure SSO. - icon: /assets/icons/insomnia/design.svg - cta: - text: Learn more - url: /insomnia/sso - align: end - - blocks: - - type: card - config: - title: Role-Based Access Control - description: Learn about RBAC in Insomnia. - icon: /assets/icons/insomnia/checkbox-active.svg - cta: - text: Learn more - url: /insomnia/rbac - align: end - - blocks: - - type: card - config: - title: Insomnia Storage Options - description: Learn about local storage, git sync, and cloud sync in Insomnia - icon: /assets/icons/insomnia/checkbox-active.svg - cta: - text: Learn more - url: /insomnia/storage-options align: end \ No newline at end of file diff --git a/app/_landing_pages/insomnia/sso.yaml b/app/_landing_pages/insomnia/sso.yaml index fc49df2e..25375384 100644 --- a/app/_landing_pages/insomnia/sso.yaml +++ b/app/_landing_pages/insomnia/sso.yaml @@ -17,4 +17,27 @@ rows: Insomnia supports federating user authentication through third-party identity providers for access management. You can leverage your existing identity management workflow to govern which users can access the application. Additionally, users must be entitled to the appropriate Organizations before they can access specific projects managed in Insomnia. - \ No newline at end of file + - header: + type: h2 + text: "SAML provider setup instructions" + columns: + - blocks: + - type: card + config: + title: Azure + description: Learn how to configure SSO with Azure for Insomnia. + icon: /assets/icons/insomnia/design.svg + cta: + text: Learn more + url: /how-to/azure-sso + align: end + - blocks: + - type: card + config: + title: Okta + description: Learn how to configure SSO with Okta for Insomnia. + icon: /assets/icons/insomnia/design.svg + cta: + text: Learn more + url: /how-to/okta-sso + align: end \ No newline at end of file diff --git a/app/assets/icons/azure.svg b/app/assets/icons/azure.svg new file mode 100644 index 00000000..7151406b --- /dev/null +++ b/app/assets/icons/azure.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/assets/icons/domain.svg b/app/assets/icons/domain.svg new file mode 100644 index 00000000..b2240c3a --- /dev/null +++ b/app/assets/icons/domain.svg @@ -0,0 +1 @@ + domain \ No newline at end of file diff --git a/app/assets/icons/insomnia/allowlist.svg b/app/assets/icons/insomnia/allowlist.svg new file mode 100644 index 00000000..be8d955f --- /dev/null +++ b/app/assets/icons/insomnia/allowlist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/icons/insomnia/data-collected.svg b/app/assets/icons/insomnia/data-collected.svg new file mode 100644 index 00000000..6ea0e0ec --- /dev/null +++ b/app/assets/icons/insomnia/data-collected.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/app/assets/icons/insomnia/data-security.svg b/app/assets/icons/insomnia/data-security.svg new file mode 100644 index 00000000..51a96487 --- /dev/null +++ b/app/assets/icons/insomnia/data-security.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/assets/icons/insomnia/incident-response.svg b/app/assets/icons/insomnia/incident-response.svg new file mode 100644 index 00000000..ac1d7c19 --- /dev/null +++ b/app/assets/icons/insomnia/incident-response.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/icons/insomnia/infrastructure-security.svg b/app/assets/icons/insomnia/infrastructure-security.svg new file mode 100644 index 00000000..bada19c2 --- /dev/null +++ b/app/assets/icons/insomnia/infrastructure-security.svg @@ -0,0 +1,2 @@ + + diff --git a/app/assets/icons/insomnia/request.svg b/app/assets/icons/insomnia/request.svg new file mode 100644 index 00000000..83643b7f --- /dev/null +++ b/app/assets/icons/insomnia/request.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/icons/insomnia/sso.svg b/app/assets/icons/insomnia/sso.svg new file mode 100644 index 00000000..7d926776 --- /dev/null +++ b/app/assets/icons/insomnia/sso.svg @@ -0,0 +1,34 @@ + + + + + + \ No newline at end of file diff --git a/app/assets/icons/okta.svg b/app/assets/icons/okta.svg new file mode 100644 index 00000000..4d523896 --- /dev/null +++ b/app/assets/icons/okta.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/icons/vault.svg b/app/assets/icons/vault.svg new file mode 100644 index 00000000..53216f38 --- /dev/null +++ b/app/assets/icons/vault.svg @@ -0,0 +1,38 @@ + + + + + + + + + + diff --git a/app/assets/images/insomnia/request-auth.png b/app/assets/images/insomnia/request-auth.png new file mode 100644 index 00000000..3a16d9ff Binary files /dev/null and b/app/assets/images/insomnia/request-auth.png differ diff --git a/app/insomnia/allowlist.md b/app/insomnia/allowlist.md new file mode 100644 index 00000000..d934caf5 --- /dev/null +++ b/app/insomnia/allowlist.md @@ -0,0 +1,46 @@ +--- +title: Insomnia domains to allowlist + +content_type: reference +layout: reference + +description: See a list of domains to allowlist to ensure full functionality of Insomnia. + +related_resources: + - text: Authentication & Authorization in Insomnia + url: /insomnia/authentication-authorization + +tags: + - allowlist + - whitelist + - authorization + +products: + - insomnia + +faqs: + - q: I'm experiencing issues after allowlisting Insomnia domains. Who can I reach out to for help? + a: | + Reach out to your IT support or reach out to Insomnia’s customer service at support@insomnia.rest or [https://support.konghq.com/support/s/](https://support.konghq.com/support/s/). + +breadcrumbs: + - /insomnia/ +--- + +To ensure full functionality of Insomnia features, allowlist the following domains: + +| Domain | Description | +|--------|-------------| +| `insomnia.rest` | Main website for Insomnia. | +| `ai.insomnia.rest` | Redirects to the Insomnia AI Runners site ([https://app.insomnia.rest/ai](https://app.insomnia.rest/ai)). | +| `ai-helper.insomnia.rest` | Handles AI-generated testing related features in Insomnia (version 8.x or later). | +| `api.insomnia.rest` | API endpoint for Insomnia services. | +| `docs.insomnia.rest` | Provides access to Insomnia's documentation and user guides. | +| `mock.insomnia.rest` | Used for the mocking feature in Insomnia. | +| `updates.insomnia.rest` | Used for receiving software updates and patches. | +| `auth.insomnia.rest` | Manages authentication processes for Insomnia. | +| `insomnia-prod.us.auth0.com` | A domain linked to authentication used for secure logins. | +| `djvq2ky33rnc.cloudfront.net` | A CDN domain for hosting static assets related to Insomnia. | +| `api.segment.io` | Used for analytics and telemetry in Insomnia. | +| `o1147619.ingest.sentry.io` | Used for error reporting and monitoring to enhance the application’s stability and performance. | +| `js.stripe.com`, `m.stripe.com`, `m.stripe.network` | Used for non-enterprise users. Allowing these help prevent billing issues on an Individual or Team plan. | \ No newline at end of file diff --git a/app/insomnia/request-authentication.md b/app/insomnia/request-authentication.md new file mode 100644 index 00000000..1904a525 --- /dev/null +++ b/app/insomnia/request-authentication.md @@ -0,0 +1,70 @@ +--- +title: Request authentication reference + +content_type: reference +layout: reference + +description: Learn what request authentication is and how to authenticate requests in Insomnia. + +related_resources: + - text: Authentication & Authorization in Insomnia + url: /insomnia/authentication-authorization + +tags: + - requests + - testing + - authentication + - beginner + +products: + - insomnia + +breadcrumbs: + - /insomnia/ +--- + +## What is request authentication in Insomnia? + +Some requests require authentication to ensure that the client requests access data securely. In Insomnia, you can configure different authentication types and parameters when you send a request so that it can authenticate. + +The Insomnia UI provides a simplified configuration for request authentication. It prepopulates the parameters when you select an auth type so you only have to fill in the values. + +## How do I configure authentication in my requests in Insomnia? + +Navigate to a request in a collection, click the **Auth** tab below your request, and select an authentication type from the dropdown menu. + +![Image of all the available request auth types in Insomnia](/assets/images/insomnia/request-auth.png) + +## Which authentication types are supported? + +The following authentication types are supported for request authentication in Insomnia: +* [Basic auth](https://datatracker.ietf.org/doc/html/rfc7617.html) +* [Digest auth](https://datatracker.ietf.org/doc/html/rfc7616) +* [OAuth 1.0](https://datatracker.ietf.org/doc/html/rfc5849) +* [OAuth 2.0](https://datatracker.ietf.org/doc/html/rfc6749) +* [Microsoft NTLM](https://learn.microsoft.com/en-us/windows-server/security/kerberos/ntlm-overview) +* [AWS IAM v4](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) +* [Bearer token](https://swagger.io/docs/specification/v3_0/authentication/bearer-authentication/) +* [HawK](https://github.com/mozilla/hawk) +* [Atlassian ASAP](https://s2sauth.bitbucket.io/spec/) +* [Netrc file](https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html) + +## How does request authentication work? + +Request authentication requires the client to validate their identity in some way before they can access the resources from the server. + +The following diagram shows how [basic auth](https://datatracker.ietf.org/doc/html/rfc7617.html) works when it's required as part of request authentication: +{% mermaid %} +sequenceDiagram + participant Client + participant Server + Client->>Server: Requests a protected resource + Server->>Client: Requests username and password + alt Correct credentials sent + Client->>Server: Sends username and password + Server->>Client: Returns requested resource + else Wrong credentials sent + Client->>Server: Sends wrong username and password + Server->>Client: Returns 401 Unauthorized status code + end +{% endmermaid %} \ No newline at end of file