From 2833cc8bfffef955e00968d60201ff065d538a99 Mon Sep 17 00:00:00 2001 From: abracchi-tw <63585571+abracchi-tw@users.noreply.github.com> Date: Tue, 24 Aug 2021 10:11:13 +0100 Subject: [PATCH 1/7] =?UTF-8?q?[Teams]=C2=A0documentation=20improvements?= =?UTF-8?q?=20(#2130)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sparse tweaks * additional tweaks * fix typo * Update products/cloudflare-one/src/content/tutorials/block-tld.md Co-authored-by: Kody Jackson Co-authored-by: Kody Jackson --- .../connect-apps/install-and-setup/setup.md | 1 + .../install-and-setup/tunnel-guide.md | 3 +- .../run-tunnel/deploy-cloudflared-replicas.md | 8 ++-- .../connect-apps/tunnel-useful-terms.md | 4 +- .../private-net/create-tunnel/index.md | 12 +++--- .../src/content/faq/teams-policies-faq.md | 2 +- .../content/identity/idp-integration/adfs.md | 5 +-- .../idp-integration/citrixadc-saml.md | 8 +--- .../identity/idp-integration/github.md | 5 +-- .../identity/idp-integration/google.md | 8 +--- .../identity/idp-integration/gsuite.md | 8 +--- .../identity/idp-integration/onelogin-saml.md | 7 +--- .../identity/idp-integration/signed_authn.md | 3 -- .../filtering/applications-changelog.md | 1 + .../policies/filtering/dns-policies/index.md | 1 + .../filtering/http-policies/tenant-control.md | 38 +++++++++++++++--- .../documentation/connections/proxy.png | Bin 0 -> 203736 bytes .../src/content/tutorials/block-tld.md | 8 +++- .../src/content/tutorials/do-not-decrypt.md | 2 +- .../content/tutorials/secure-dns-network.md | 4 +- 20 files changed, 68 insertions(+), 60 deletions(-) create mode 100644 products/cloudflare-one/src/content/static/documentation/connections/proxy.png diff --git a/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/setup.md b/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/setup.md index a2eb2b784a0..e3afa63f7b5 100644 --- a/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/setup.md +++ b/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/setup.md @@ -1,6 +1,7 @@ --- order: 2 pcx-content-type: how-to +hidden: true --- # Authenticate `cloudflared` diff --git a/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/tunnel-guide.md b/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/tunnel-guide.md index 3a03d50175a..0d42d532ad7 100644 --- a/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/tunnel-guide.md +++ b/products/cloudflare-one/src/content/connections/connect-apps/install-and-setup/tunnel-guide.md @@ -6,7 +6,8 @@ pcx-content-type: how-to # Set up your first tunnel -Follow this step-by-step guide to getting your first tunnel up and running. Before you start, make sure you: +Follow this step-by-step guide to get your first tunnel up and running. Before you start, make sure you: + 1. [Add a website to Cloudflare](https://support.cloudflare.com/hc/en-us/articles/201720164-Creating-a-Cloudflare-account-and-adding-a-website) 1. [Change your domain nameservers to Cloudflare](https://support.cloudflare.com/hc/en-us/articles/205195708) diff --git a/products/cloudflare-one/src/content/connections/connect-apps/run-tunnel/deploy-cloudflared-replicas.md b/products/cloudflare-one/src/content/connections/connect-apps/run-tunnel/deploy-cloudflared-replicas.md index e4723ceffdb..a1aa1ffd8dc 100644 --- a/products/cloudflare-one/src/content/connections/connect-apps/run-tunnel/deploy-cloudflared-replicas.md +++ b/products/cloudflare-one/src/content/connections/connect-apps/run-tunnel/deploy-cloudflared-replicas.md @@ -13,13 +13,13 @@ To deploy multiple `cloudflared` replicas: 1. Run the following command: - ```sh + ```bash $ cloudflared tunnel create ``` 1. Next, run your newly created Named Tunnel. - ```sh + ```bash $ cloudflared tunnel run ``` @@ -27,7 +27,7 @@ To deploy multiple `cloudflared` replicas: 1. In a separate window, run the same command to initialize another `cloudflared` instance: - ```sh + ```bash $ cloudflared tunnel run ``` @@ -35,7 +35,7 @@ To deploy multiple `cloudflared` replicas: 1. Next, run `tunnel info` to show each `cloudflared` running your tunnel: - ```sh + ```bash $ cloudflared tunnel info ``` diff --git a/products/cloudflare-one/src/content/connections/connect-apps/tunnel-useful-terms.md b/products/cloudflare-one/src/content/connections/connect-apps/tunnel-useful-terms.md index 0023efa18c4..18d0eecbb37 100644 --- a/products/cloudflare-one/src/content/connections/connect-apps/tunnel-useful-terms.md +++ b/products/cloudflare-one/src/content/connections/connect-apps/tunnel-useful-terms.md @@ -15,13 +15,13 @@ A tunnel UUID is an alpha-numeric, unique ID assigned to a tunnel. The tunnel UU The `cloudflared tunnel create ` command creates a tunnel and assigns it a name. Once named, a tunnel is a persistent pathway within which you can stop and start as many [connectors](#connector) as needed, adding stability and ease of use to your tunnel experience. Tunnel names do not need to be hostnames; for example, you can assign your tunnel a name that represents your application/network, a particular server, or the cloud environment where it runs. A human-readable identifier lets you easily reference a tunnel whenever you need. ## Connector -Users can create and configure a tunnel once and run it as multiple different `cloudflared` processes. These processes are known as connectors, or replicas. DNS records and Cloudflare Load Balancers can still point to the tunnel and its UUID, while that tunnel sends traffic to the multiple instances of cloudflared that run through it. Using multiple connectors provides tunnels with high availability, scalability, and elasticity. +Users can create and configure a tunnel once and run it as multiple different `cloudflared` processes. These processes are known as connectors. DNS records and Cloudflare Load Balancers can still point to the tunnel and its UUID, while that tunnel sends traffic to the multiple instances of cloudflared that run through it. Using multiple connectors provides tunnels with high availability, scalability, and elasticity. ## Configuration file This is a `.yaml` file that functions as the operating manual for `cloudflared`. By creating a configuration file, you can have fine-grained control over how their instance of cloudflared will operate. This includes operations like what you want `cloudflared` to do with traffic (for example, proxy websockets to port `xxxx`, or ssh to port `yyyy`), where `cloudflared` should search for authorization (credentials file, tunnel token), and what mode it should run in (for example, [`warp-routing`](/connections/connect-networks/private-net/create-tunnel#configure-the-tunnel)). In the absence of a configuration file, cloudflared will proxy outbound traffic through port `8080`. ## Cert.pem -This is the certificate file issued by Cloudflare when you run `cloudflared tunnel login`. This file is required when you create new tunnels, delete existing tunnels, change DNS records, or configure tunnel routing from cloudflared. This file is not required to perform actions such as running an existing tunnel or managing tunnel routing from the Cloudflare dashboard. The cert.pem origin certificate is valid for at least 10 years, and the service token it contains is valid until revoked. +This is the certificate file issued by Cloudflare when you run `cloudflared tunnel login`. This file uses a certificate to authenticate your instance of `cloudflared` and it is required when you create new tunnels, delete existing tunnels, change DNS records, or configure tunnel routing from cloudflared. This file is not required to perform actions such as running an existing tunnel or managing tunnel routing from the Cloudflare dashboard. The cert.pem origin certificate is valid for at least 10 years, and the service token it contains is valid until revoked. ## Credentials file This file is created when you run `cloudflared tunnel create `. It stores your tunnel’s credentials in a `.json` format, and is unique to each tunnel. This file functions as a token authenticating the tunnel it is associated with. diff --git a/products/cloudflare-one/src/content/connections/connect-networks/private-net/create-tunnel/index.md b/products/cloudflare-one/src/content/connections/connect-networks/private-net/create-tunnel/index.md index 0c25a43774b..cef9f70962a 100644 --- a/products/cloudflare-one/src/content/connections/connect-networks/private-net/create-tunnel/index.md +++ b/products/cloudflare-one/src/content/connections/connect-networks/private-net/create-tunnel/index.md @@ -13,8 +13,8 @@ pcx-content-type: how-to To create a Tunnel, run the following command: -```sh -cloudflared tunnel create +```bash +$ cloudflared tunnel create ``` Replace `` with the name you want to give to the Tunnel. The name assigned can be any string and does not need to relate to a hostname or your account name. @@ -31,8 +31,8 @@ You can also view and manage the Tunnels generated. Click [here](/connections/co To map the Tunnel to a range of IPs, run the following command: -```sh -cloudflared tunnel route ip add +```bash +$ cloudflared tunnel route ip add ``` Replace `` with the range of IPs that this Tunnel represents, for example `10.1.2.40/29`. The IP addresses used can include RFC 1918 ranges. The `` value should be the name of a Tunnel already created. @@ -44,7 +44,7 @@ This command will tell Cloudflare to send traffic from users in your organizatio Confirm the routes enrolled with the following command: ```bash -cloudflared tunnel route ip show +$ cloudflared tunnel route ip show ``` ![IP List](../../../../static/secure-origin-connections/warp-to-tunnel/ip-list.png) @@ -52,7 +52,7 @@ cloudflared tunnel route ip show You can test the routing configuration with the following command as well: ```bash -cloudflared tunnel route ip get 100.64.0.1 +$ cloudflared tunnel route ip get 100.64.0.1 ``` ## Configure the Tunnel diff --git a/products/cloudflare-one/src/content/faq/teams-policies-faq.md b/products/cloudflare-one/src/content/faq/teams-policies-faq.md index 3d1286e78a2..c12f3a8b9e0 100644 --- a/products/cloudflare-one/src/content/faq/teams-policies-faq.md +++ b/products/cloudflare-one/src/content/faq/teams-policies-faq.md @@ -20,7 +20,7 @@ Wildcard-based policies in Cloudflare Access only cover the level where they are ## Can I use regular expressions to build policies? -You can use wildcards when setting up Zero Trust policies. Wildcards are useful when specifying application paths you want to protect. For more information, see our guide for [Using wildcards in subdomains and path](/applications/configure-apps/app-paths#using-wildcards-in-subdomains-and-paths). +You can use wildcards when setting up Zero Trust policies. Wildcards are useful when specifying application paths you want to protect. For more information, see our guide for [Using wildcards in subdomains and path](/policies/zero-trust/app-paths#using-wildcards-in-subdomains-and-paths). Gateway uses Rust to evaluate regular expressions. The Rust implementation is slightly different than regex libraries used elsewhere. For example, if you want to match multiple domains, you could use the pipe symbol (`|`) as an OR operator. In Gateway, you do not need to use an escape character (`\`) before the pipe symbol. Let's say you want to block requests to two hosts if either appears in a request header. A regex for such a rule would look like this: diff --git a/products/cloudflare-one/src/content/identity/idp-integration/adfs.md b/products/cloudflare-one/src/content/identity/idp-integration/adfs.md index fd57513b7f3..127a37bbabf 100644 --- a/products/cloudflare-one/src/content/identity/idp-integration/adfs.md +++ b/products/cloudflare-one/src/content/identity/idp-integration/adfs.md @@ -114,10 +114,7 @@ The **Edit Claim Rules for CF Login** screen automatically displays. Now create 2 Claim Rules so that ADFS can take information from Cloudflare and return it to create [Zero Trust policies](/policies/zero-trust). - +If you closed the Add Relying Trust wizard, use Explorer to find the **Relying Party Trusts** folder, select the newly created RPT file, and click **Edit Claim Rules** in the **Action** sidebar. To create Claim Rules: diff --git a/products/cloudflare-one/src/content/identity/idp-integration/citrixadc-saml.md b/products/cloudflare-one/src/content/identity/idp-integration/citrixadc-saml.md index 7d49469c10e..a55e472d18d 100644 --- a/products/cloudflare-one/src/content/identity/idp-integration/citrixadc-saml.md +++ b/products/cloudflare-one/src/content/identity/idp-integration/citrixadc-saml.md @@ -12,13 +12,7 @@ Cloudflare for Teams can integrate with Citrix ADC (formerly Citrix NetScaler AD To set up Citrix ADC (SAML) as your identity provider: 1. First, you'll need to configure 2 SAML certificates: - * A certificate to **terminate TLS at the vServer**. - - - + * A certificate to **terminate TLS at the vServer**. Ensure that the certificate is issued by a publicly trusted CA. * A certificate for **signing SAML assertions**. If you do not already have a certificate for signing SAML assertions, you can use a self-signed certificate generated on Citrix ADC by following these steps: diff --git a/products/cloudflare-one/src/content/identity/idp-integration/github.md b/products/cloudflare-one/src/content/identity/idp-integration/github.md index 83e2ed1cc77..7947aa83865 100644 --- a/products/cloudflare-one/src/content/identity/idp-integration/github.md +++ b/products/cloudflare-one/src/content/identity/idp-integration/github.md @@ -48,11 +48,8 @@ To configure GitHub access in both GitHub and Cloudflare for Teams: 1. Click **Save**. -To test that your connection is working, navigate to **Authentication > Login methods** and click **Test** next to GitHub. - - ## Example API Configuration diff --git a/products/cloudflare-one/src/content/identity/idp-integration/google.md b/products/cloudflare-one/src/content/identity/idp-integration/google.md index 10779216645..3fbb5f10162 100644 --- a/products/cloudflare-one/src/content/identity/idp-integration/google.md +++ b/products/cloudflare-one/src/content/identity/idp-integration/google.md @@ -5,14 +5,10 @@ pcx-content-type: how-to # Google - - You can integrate Google authentication with Cloudflare Access without a Google Workspace account. The integration will allow any user with a Google account to login (if the [Zero Trust policy](/policies/zero-trust) allows them to reach the resource). Unlike the instructions for [Google Workspace](/identity/idp-integration/gsuite), the steps below will not allow you to pull group membership information from a Google Workspace account. +Please note that you don't need to be a Google Cloud Platform user to integrate Google Suite as an identity provider with Cloudflare for Teams. You will only need to open the Google Cloud Platform to access settings for your OIDC identity provider. + 1. Visit the Google Cloud Platform console. Create a new project. ![Create Project](../../static/documentation/identity/google/create-project.png) diff --git a/products/cloudflare-one/src/content/identity/idp-integration/gsuite.md b/products/cloudflare-one/src/content/identity/idp-integration/gsuite.md index edc4cffad6a..95f44975b4a 100644 --- a/products/cloudflare-one/src/content/identity/idp-integration/gsuite.md +++ b/products/cloudflare-one/src/content/identity/idp-integration/gsuite.md @@ -5,16 +5,12 @@ pcx-content-type: how-to # Google Workspace - - You can integrate a Google Workspace (formerly Google Suite) account with Cloudflare Access. Unlike the instructions for [generic Google authentication](/identity/idp-integration/google), the steps below will allow you to pull group membership information from your Google Workspace account. Once integrated, users will login with their Google Workspace credentials to reach resources protected by Cloudflare Access or to enroll their device into Cloudflare Gateway. +Please note that you don't need to be a Google Cloud Platform user to integrate Google Suite as an identity provider with Cloudflare for Teams. You will only need to open the Google Cloud Platform to access settings for your OIDC identity provider. + 1. Log into the Google Cloud Platform [console](https://console.cloud.google.com/). This is separate from your Google Workspace console. ![GCP Console](../../static/documentation/identity/gsuite/gcp-home.png) diff --git a/products/cloudflare-one/src/content/identity/idp-integration/onelogin-saml.md b/products/cloudflare-one/src/content/identity/idp-integration/onelogin-saml.md index fbdc7f71a65..85bf63ed268 100644 --- a/products/cloudflare-one/src/content/identity/idp-integration/onelogin-saml.md +++ b/products/cloudflare-one/src/content/identity/idp-integration/onelogin-saml.md @@ -56,15 +56,10 @@ To set up OneLogin (SAML) as your identity provider: 1. Select SAML. -1. Input the details from your OneLogin account in the fields. +1. Input the details from your OneLogin account in the fields. We suggest that you name the attributes the same in both OneLogin and Cloudflare. If other headers and SAML attribute names were added to OneLogin, be sure to add them to Cloudflare under **SAML attributes** and **SAML header attributes** in the **Optional configurations** menu. - - 1. Click **Save**. To test that your connection is working, navigate to **Authentication > Login methods** and click **Test** next to the login method you want to test. diff --git a/products/cloudflare-one/src/content/identity/idp-integration/signed_authn.md b/products/cloudflare-one/src/content/identity/idp-integration/signed_authn.md index e565f2f595d..45fcd3ec315 100644 --- a/products/cloudflare-one/src/content/identity/idp-integration/signed_authn.md +++ b/products/cloudflare-one/src/content/identity/idp-integration/signed_authn.md @@ -29,11 +29,8 @@ To set up Signed AuthN requests: https://.cloudflareaccess.com/cdn-cgi/access/public-cert ``` - - Cloudflare Access uses a certificate that includes the following 2 distinguished name fields: * **Issuer Distinguished Name** – `CN=cloudflareaccess.com, C=US, ST=Texas, L=Austin, O=Cloudflare` diff --git a/products/cloudflare-one/src/content/policies/filtering/applications-changelog.md b/products/cloudflare-one/src/content/policies/filtering/applications-changelog.md index 2d1a80c666b..1cbcc7ceee5 100644 --- a/products/cloudflare-one/src/content/policies/filtering/applications-changelog.md +++ b/products/cloudflare-one/src/content/policies/filtering/applications-changelog.md @@ -1,6 +1,7 @@ --- order: 10 pcx-content-type: reference +hidden: true --- # Applications changelog diff --git a/products/cloudflare-one/src/content/policies/filtering/dns-policies/index.md b/products/cloudflare-one/src/content/policies/filtering/dns-policies/index.md index eaa556004c0..fb751895a85 100644 --- a/products/cloudflare-one/src/content/policies/filtering/dns-policies/index.md +++ b/products/cloudflare-one/src/content/policies/filtering/dns-policies/index.md @@ -1,6 +1,7 @@ --- order: 2 pcx-content-type: concept +hidden: true --- # DNS policies diff --git a/products/cloudflare-one/src/content/policies/filtering/http-policies/tenant-control.md b/products/cloudflare-one/src/content/policies/filtering/http-policies/tenant-control.md index 4da7155c030..a9dc209a8d3 100644 --- a/products/cloudflare-one/src/content/policies/filtering/http-policies/tenant-control.md +++ b/products/cloudflare-one/src/content/policies/filtering/http-policies/tenant-control.md @@ -39,26 +39,52 @@ Your Allow policy is now displayed in the list of HTTP rules. When an end user a This section covers policy configurations for common SaaS applications. -## Dropbox +### Microsoft 365 + + | Selector | Operator | Value | Action | Header name | | -- | -- | -- | -- | -- | -| Application | In | Dropbox | Allow | `X-Dropbox-allowed-Team-Ids` | +| Application | In | Microsoft Office365 | Allow | `Restrict-Access-To-Tenants`, `Restrict-Access-Context` | + + + +### Slack + + + +| Selector | Operator | Value | Action | Header name | +| -- | -- | -- | -- | -- | +| Application | In | Slack | Allow | `X-Slack-Allowed-Workspaces-Requester`, `X-Slack-Allowed-Workspaces` | -## G Suite + + +### G Suite + + | Selector | Operator | Value | Action | Header name | | -- | -- | -- | -- | -- | | Application | In | Google Workspace | Allow | `X-GooGApps-Allowed-Domains` | -## Microsoft 365 + + +### Dropbox + + | Selector | Operator | Value | Action | Header name | | -- | -- | -- | -- | -- | -| Application | In | Microsoft Office365 | Allow | `Restrict-Access-To-Tenants`, `Restrict-Access-Context` | +| Application | In | Dropbox | Allow | `X-Dropbox-allowed-Team-Ids` | + + -## YouTube +### YouTube + + | Selector | Operator | Value | Action | Header name | | -- | -- | -- | -- | -- | | Application | In | YouTube | Allow | `YouTube-Restrict` | + + \ No newline at end of file diff --git a/products/cloudflare-one/src/content/static/documentation/connections/proxy.png b/products/cloudflare-one/src/content/static/documentation/connections/proxy.png new file mode 100644 index 0000000000000000000000000000000000000000..7cfba72daffb1dd14e9783b65845d47c7485580b GIT binary patch literal 203736 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%0AYpOeU;$CebED6xiK64 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%0DCbI9Qx^O#~iZ@FUdk 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 + +For more information on how policies work with regular expressions, refer to [Can I use regular expressions to build policies?](/faq/teams-policies-faq#can-i-use-regular-expressions-to-build-policies) + + + ## Review logs You can test your policy by attempting to visit a domain with the blocked TLD. To review logs of the block, navigate to the `Logs` section of the Cloudflare for Teams dashboard, select `Gateway`, and choose the `DNS` tab. diff --git a/products/cloudflare-one/src/content/tutorials/do-not-decrypt.md b/products/cloudflare-one/src/content/tutorials/do-not-decrypt.md index b6f0ef500cf..2807dc95cb7 100644 --- a/products/cloudflare-one/src/content/tutorials/do-not-decrypt.md +++ b/products/cloudflare-one/src/content/tutorials/do-not-decrypt.md @@ -11,7 +11,7 @@ You can configure Cloudflare for Teams to skip inspection for certain groups of By default, Cloudflare Gateway creates a rule that includes the hostnames used by certain client applications, like Zoom or Apple's services, that rely on certificate pinning. The TLS inspection performed by a service like Cloudflare Gatway will cause errors when users visit those applications. -This tutorial skips inspection for additional appilcations beyond those in the list curated by Cloudflare. +This tutorial skips inspection for additional applications beyond those in the list curated by Cloudflare. **🗺️ This walkthrough covers how to:** diff --git a/products/cloudflare-one/src/content/tutorials/secure-dns-network.md b/products/cloudflare-one/src/content/tutorials/secure-dns-network.md index 80381476edf..466cd48202e 100755 --- a/products/cloudflare-one/src/content/tutorials/secure-dns-network.md +++ b/products/cloudflare-one/src/content/tutorials/secure-dns-network.md @@ -77,6 +77,6 @@ The default toggle presented will be `Router`. Follow the instructions on the pa ## Review events -Once configured, you can review DNS queries made from your network in the Gateway overview page. +Once configured, you can review DNS queries made from your network in the **Analytics** > **Gateway** page. -![Gateway Overview](../static/secure-web-gateway/secure-dns-network/gateway-overview.png) \ No newline at end of file +![Gateway Analytics](../static/secure-web-gateway/secure-dns-network/gateway-analytics.png) \ No newline at end of file From e78352fdd3ba44fa812a6b10a36f61896ef3564d Mon Sep 17 00:00:00 2001 From: Neeron Bhatta <33238007+NeuronButter@users.noreply.github.com> Date: Tue, 24 Aug 2021 20:19:01 +1000 Subject: [PATCH 2/7] Correct spelling (#2139) I was just annoyed at the spelling. Nothing else changed :) --- products/warp-client/src/content/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/products/warp-client/src/content/index.md b/products/warp-client/src/content/index.md index 9a84931aaa6..55682fb5aae 100644 --- a/products/warp-client/src/content/index.md +++ b/products/warp-client/src/content/index.md @@ -17,7 +17,7 @@ The Cloudflare WARP client allows individuals and organizations to have a faster * **1.1.1.1 with WARP** * **WARP via Local Proxy** * **WARP+** -* **WARP Unilimited** +* **WARP Unlimited** Scroll down for a description of each mode. From 67eb4831803aa07dd1e457dbde3cf55e4654b97f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denise=20Pe=C3=B1a?= <75506267+dcpena@users.noreply.github.com> Date: Tue, 24 Aug 2021 09:29:26 -0500 Subject: [PATCH 3/7] [Magic WAN] Renaming header & removing Map Route Prefixes topic (#2136) * Removed route prefixes topic * Renamed header and fixed page order --- .../assign-tunnel-priorities.md | 4 ++-- .../configure-tunnels/map-route-prefixes.md | 18 ------------------ .../configure-tunnels/specify-ip-addresses.md | 2 +- .../specify-tunnel-endpoints.md | 2 +- .../reference/configuration-examples.md | 2 +- .../magic-wan/src/content/reference/index.md | 2 +- 6 files changed, 6 insertions(+), 24 deletions(-) delete mode 100644 products/magic-wan/src/content/get-started/configure-tunnels/map-route-prefixes.md diff --git a/products/magic-wan/src/content/get-started/configure-tunnels/assign-tunnel-priorities.md b/products/magic-wan/src/content/get-started/configure-tunnels/assign-tunnel-priorities.md index bd90fc769c0..9d8d1bb3f9f 100644 --- a/products/magic-wan/src/content/get-started/configure-tunnels/assign-tunnel-priorities.md +++ b/products/magic-wan/src/content/get-started/configure-tunnels/assign-tunnel-priorities.md @@ -1,6 +1,6 @@ --- -title: Assign tunel properties -order: 5 +title: Create static routes +order: pcx-content-type: how-to --- diff --git a/products/magic-wan/src/content/get-started/configure-tunnels/map-route-prefixes.md b/products/magic-wan/src/content/get-started/configure-tunnels/map-route-prefixes.md deleted file mode 100644 index 9fe96bf1e76..00000000000 --- a/products/magic-wan/src/content/get-started/configure-tunnels/map-route-prefixes.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Map route prefixes -order: 6 -pcx-content-type: how-to ---- - -# Map route prefixes smaller than /24 - -Before Cloudflare can route your traffic from the edge to your locations via GRE tunnels, you must provide your prefixes and the tunnels to which they should be mapped, similar to the example in the table below. - -| Prefix | GRE Tunnel | -| --------------- | ---------- | -| 103.21.244.0/29 | GRE_1_IAD | -| 103.21.244.8/29 | GRE_2_ATL | - -The minimum advertising prefix is /24. However, because Cloudflare uses GRE tunnels as an outer wrapper for your traffic, Cloudflare can route prefixes within that /24 to different tunnel endpoints. - -For example, you can send `x.x.x.0/29` to Datacenter 1 and `x.x.x.8/29` to Datacenter 2, which is helpful when operating in environments with constrained IP resources. \ No newline at end of file diff --git a/products/magic-wan/src/content/get-started/configure-tunnels/specify-ip-addresses.md b/products/magic-wan/src/content/get-started/configure-tunnels/specify-ip-addresses.md index 8c082808aec..d3ee12586a8 100644 --- a/products/magic-wan/src/content/get-started/configure-tunnels/specify-ip-addresses.md +++ b/products/magic-wan/src/content/get-started/configure-tunnels/specify-ip-addresses.md @@ -1,6 +1,6 @@ --- title: Specify IP address for endpoint health checks -order: 7 +order: pcx-content-type: how-to --- diff --git a/products/magic-wan/src/content/get-started/configure-tunnels/specify-tunnel-endpoints.md b/products/magic-wan/src/content/get-started/configure-tunnels/specify-tunnel-endpoints.md index 5c5beceb811..a38072fa13c 100644 --- a/products/magic-wan/src/content/get-started/configure-tunnels/specify-tunnel-endpoints.md +++ b/products/magic-wan/src/content/get-started/configure-tunnels/specify-tunnel-endpoints.md @@ -1,6 +1,6 @@ --- title: Specify tunnel endpoints -order: 4 +order: pcx-content-type: how-to --- diff --git a/products/magic-wan/src/content/reference/configuration-examples.md b/products/magic-wan/src/content/reference/configuration-examples.md index 34ddda84b6c..fd7a1334adc 100644 --- a/products/magic-wan/src/content/reference/configuration-examples.md +++ b/products/magic-wan/src/content/reference/configuration-examples.md @@ -1,5 +1,5 @@ --- -order: 9 +order: pcx-content-type: reference --- diff --git a/products/magic-wan/src/content/reference/index.md b/products/magic-wan/src/content/reference/index.md index 94b2c2df818..6dd24c0a4e3 100644 --- a/products/magic-wan/src/content/reference/index.md +++ b/products/magic-wan/src/content/reference/index.md @@ -1,5 +1,5 @@ --- -order: 8 +order: pcx-content-type: navigation --- From 405cb48524b289e96ba3ba04466d9d47539298d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denise=20Pe=C3=B1a?= <75506267+dcpena@users.noreply.github.com> Date: Tue, 24 Aug 2021 09:38:38 -0500 Subject: [PATCH 4/7] [Magic Transit] Added info on tunnel failover (#2135) * Added info on tunnel failover * Implementing AAnnika's feedback --- .../magic-transit/src/content/about/probe-construction.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/products/magic-transit/src/content/about/probe-construction.md b/products/magic-transit/src/content/about/probe-construction.md index eb0f9685938..f4841cf1db9 100644 --- a/products/magic-transit/src/content/about/probe-construction.md +++ b/products/magic-transit/src/content/about/probe-construction.md @@ -59,6 +59,10 @@ The values for failure penalties are intentionally extreme so that they always e Applying a penalty instead of removing the route altogether preserves redundancy and maintains options for customers with only one tunnel. Penalties also support the case when multiple tunnels are unhealthy. +### Cloudflare data centers and tunnels + +In the event a Cloudflare data center is down, Cloudflare's edge network does not advertise your prefixes, and your packets are routed to the next closest data center. To check the system status for Cloudflare's edge network and dashboard, refer to [Cloudflare System Status](https://www.cloudflarestatus.com/). + ## Recovery Once a tunnel is in the **Down** state, edge servers continue to emit probes every 60 seconds. When a probe returns **Healthy**, the edge server that received the healthy packet immediately sends two more probes. If the two probes return **Healthy**, Magic Transit sets the tunnel status to **Degraded**. From a73796c0587abb7ddf1081b6fe10a286fe0fd3c7 Mon Sep 17 00:00:00 2001 From: Kate Tungusova <70746074+deadlypants1973@users.noreply.github.com> Date: Tue, 24 Aug 2021 17:24:31 +0100 Subject: [PATCH 5/7] [Workers] Auth0 tutorial revision (#2112) * [Workers] Auth0 tutorial revision * Apply suggestions from code review Luke's edits Co-authored-by: Luke Edwards * Update products/workers/src/content/tutorials/authorize-users-with-auth0/index.md Denise suggestion Co-authored-by: Luke Edwards --- .../authorize-users-with-auth0/index.md | 174 +++++++++--------- 1 file changed, 90 insertions(+), 84 deletions(-) diff --git a/products/workers/src/content/tutorials/authorize-users-with-auth0/index.md b/products/workers/src/content/tutorials/authorize-users-with-auth0/index.md index b8efae1055b..492b10625a8 100644 --- a/products/workers/src/content/tutorials/authorize-users-with-auth0/index.md +++ b/products/workers/src/content/tutorials/authorize-users-with-auth0/index.md @@ -13,9 +13,9 @@ import TutorialsBeforeYouStart from "../../_partials/_tutorials-before-you-start ## Overview -In this tutorial you’ll integrate [Auth0](https://auth0.com), an identity management platform, into a Cloudflare Workers application. Adding authorization and authentication to an application is a common task for developers. By implementing it using Cloudflare Workers, you can take advantage of Workers’ unique platform advantages to simplify how and when your application needs user data. +In this tutorial you will integrate [Auth0](https://auth0.com), an identity management platform, into a Cloudflare Workers application. Adding authorization and authentication to an application is a common task for developers. By implementing it using Cloudflare Workers, you can take advantage of the Workers platform to simplify how and when your application needs user data. -### What you’ll learn +### What you will learn - How to authorize and authenticate users in Workers. - How to persist authorization credentials inside of Workers KV. @@ -23,19 +23,19 @@ In this tutorial you’ll integrate [Auth0](https://auth0.com), an identity mana ## Set up Auth0 -If you don’t already have an Auth0 account, you can sign up for a free account at [auth0.com](https://www.auth0.com). This tutorial supports integration with Auth0’s free tier. +If you do not already have an Auth0 account, sign up for a free account at [auth0.com](https://www.auth0.com). This tutorial supports integration with Auth0’s free tier. ### Configure an Auth0 application -Every Auth0 account contains _applications_, which allow developers to create login/signup flows that are verified by Auth0. Integrating Auth0 with Workers requires creating an application in your Auth0 dashboard; if you’ve created an account for this tutorial, the “Default (Generic)” application provided by Auth0 will work; otherwise, create a new application with the type “Regular Web Application”. +Every Auth0 account contains applications, which allow developers to create login/signup flows that are verified by Auth0. To integrate Auth0 with Workers, create an application in your Auth0 dashboard. If you have created an account for this tutorial, the **Default (Generic)** application provided by Auth0 will work; otherwise, create a new application with the type **Regular Web Application**. ![Creating an Auth0 application](./media/creating-an-application.png) -Inside of our application’s settings, the client ID and client secret are keys that we’ll provide to our Workers application to authenticate with Auth0. There are several settings and configuration options here, but relevant to this tutorial are the “Allowed Callback URLs” and “Allowed Web Origins” options. In the “Publish” section of this tutorial, we’ll fill in these values with the final deployed URL of our application. +Inside of your application’s settings, the client ID and client secret are keys that you will provide to your Workers application to authenticate with Auth0. There are several settings and configuration options, but relevant to this tutorial are the **Allowed Callback URLs** and **Allowed Web Origins** options. In the [**Publish** section](/authorize-users-with-auth0#publish) of this tutorial, you will later fill in these values with the final deployed URL of our application. ## Generate a new project -Using wrangler’s `generate` command, we can begin building a new application using a Workers template. For this tutorial, we’ll heavily modify the default template for [Workers Sites](/platform/sites), which deploys a static HTML application: +Using wrangler’s `generate` command, begin building a new application using a Workers template. For this tutorial you will modify the default template for [Workers Sites](/platform/sites), which deploys a static HTML application: ```sh --- @@ -46,14 +46,14 @@ $ wrangler generate --site my-auth-example ## Building an authorizer -Before we begin implementing an “authorizer” in our application, which will verify that a user is logged in, it’s useful to understand how Auth0’s login flow works. The condensed version of this flow is below (and, if you’re interested, you can [read a longer writeup in Auth0’s docs](https://auth0.com/docs/flows/concepts/auth-code)): +Before implementing an “authorizer" in your application, which will verify that a user is logged in, it is useful to understand how Auth0’s login flow works. The condensed version of this flow is below (you can also [review a longer writeup in Auth0’s docs](https://auth0.com/docs/flows/concepts/auth-code)): -1. A user makes a request to the Workers application -2. If they aren’t logged in, they’re redirected to the login page -3. After logging in they’re redirected back to the Workers application, passing a login `code` as a query param -4. The Workers application takes the login `code` parameter and exchanges it with Auth0 for authorization tokens +1. A user makes a request to the Workers application. +2. If the user is not logged in, they are redirected to the login page. +3. After logging in, the user is redirected back to the Workers application with a login `code` query parameter. +4. The Workers application takes the login `code` parameter and exchanges it with Auth0 for authorization tokens. -In a traditional application that is attached to a database, the authorization tokens returned from Auth0 are often persisted in a database, allowing users to return to the application and continue to use it, without the need for re-authorization. With a Workers application, we have a quick and easy-to-use data storage solution that lives right next to our serverless application: Workers KV. Using Workers KV, we’ll store authorization tokens and tie them to a user using an authorization cookie. +In a traditional application that is attached to a database, the authorization tokens Auth0 returns are often persisted in a database. This will allow users to return to the application and continue to use it without the need for re-authorization. With a Workers application, you have access to a quick and easy-to-use data storage solution that lives right next to your serverless application: Workers KV. Using Workers KV, you will store authorization tokens and tie them to a user using an authorization cookie. [![Auth0 Flow](./media/auth0-flow.png)](https://auth0.com/docs/flows/concepts/auth-code) @@ -61,7 +61,7 @@ In a traditional application that is attached to a database, the authorization t ### Authenticating a user -Let’s begin implementing the login flow described in the previous section. When a user makes a request to the Workers application, we should verify that the user is authenticated. To define this logic create a new file — `workers-site/auth0.js`- which will contain the authorization logic for our application: +Begin implementing the login flow described in the previous section. When a user makes a request to the Workers application, you should verify that the user is authenticated. To define this logic create a new file — `workers-site/auth0.js`- which will contain the authorization logic for our application: ```js --- @@ -96,15 +96,15 @@ export const authorize = async event => { } ``` -The `auth0` object wraps several secrets, which are encrypted values that can be defined and used by your script. In the “Publish” section of this tutorial, we’ll define these secrets using the [`wrangler secret`](/cli-wrangler/commands#secret) command. +The `auth0` object wraps several secrets, which are encrypted values that can be defined and used by your script. In the [**Publish** section](/authorize-users-with-auth0#publish) of this tutorial, you will define these secrets using the [`wrangler secret`](/cli-wrangler/commands#secret) command. -The `generateStateParam` function will be used to prevent [Cross-Site Request Forgery attacks](https://auth0.com/docs/protocols/oauth2/mitigate-csrf-attacks). For now, we’ll return a string “stub”, but later in the tutorial, it will generate a random “state” parameter that we’ll store in Workers KV to verify incoming authorization requests. +The `generateStateParam` function will be used to prevent [Cross-Site Request Forgery attacks](https://auth0.com/docs/protocols/oauth2/mitigate-csrf-attacks). For now, you will return a string “stub” but later in the tutorial, `generateStateParam` will generate a random “state” parameter that you will store in Workers KV to verify incoming authorization requests. -The `verify` function, which we’ll stub out in our first pass through this file, will check for an authorization key and look up a corresponding value in Workers KV. For now, we’ll simply return an object with an `accessToken` string, to simulate an _authorized_ request. +The `verify` function, which you will stub out in your first pass through this file, will check for an authorization key and look up a corresponding value in Workers KV. For now, you will simply return an object with an `accessToken` string to simulate an authorized request. The `authorize` function, which should be exported from `./auth0.js`, will wait for the response from the `verify` function, and return an array that can be used to determine how the application should proceed. -In `workers-site/index.js`, we can import the `authorize` function from `./auth0.js` and use it inside of our `handleEvent` function. Note that by default the Workers Sites template contains code for rendering our Workers Site from Workers KV. To keep that code functioning, make sure that you replace `handleEvent` as defined below: +In `workers-site/index.js`, import the `authorize` function from `./auth0.js` and use it inside of your `handleEvent` function. Note that by default the Workers Sites template contains code for rendering our Workers Site from Workers KV. To keep that code functioning, make sure that you replace `handleEvent` as defined below: ```js --- @@ -124,7 +124,7 @@ async function handleEvent(event) { const [authorized, { authorization, redirectUrl }] = await authorize(event) // BEGINNING OF WORKERS SITES - // Make sure to not touch this code for the majority of the tutorial! + // Make sure to not touch this code for the majority of the tutorial. response = getAssetFromKV(event) // END OF WORKERS SITES @@ -137,7 +137,7 @@ async function handleEvent(event) { The `authorize` function returns an array with a boolean `authorized` and a context object which will contain either an `authorization` object or a `redirectUrl`. -Building on the past code sample, we can check that a user is `authorized` and that the `authorization` object contains an `accessToken`. Then update the incoming `request` to contain an `Authorization` header: +Building on the past code sample, you can check that a user is `authorized` and that the `authorization` object contains an `accessToken`. Then update the incoming `request` to contain an `Authorization` header: ```js --- @@ -161,7 +161,7 @@ async function handleEvent(event) { } ``` -If a user isn’t authorized, we can redirect them to Auth0’s login page, by calling `Response.redirect`, passing in the `redirectUrl`: +If a user is not authorized, redirect them to Auth0’s login page by calling `Response.redirect` and passing in the `redirectUrl`: ```js --- @@ -184,15 +184,15 @@ async function handleEvent(event) { } ``` -When a user logs in via Auth0’s login form, they’ll be redirected back to the callback URL specified by our application. In the next section, we’ll handle that redirect, and get a user access token as part of the “login” code flow. +When a user logs in via Auth0’s login form, they will be redirected back to the callback URL specified by our application. In the next section, you will handle that redirect and get a user access token as part of the "login" code flow. ![Auth0 Login Form](./media/auth0-login.png) ### Handling a login redirect -To handle the “login” code flow as defined by Auth0, we’ll handle an incoming request to the `/auth` path, which will contain a `code` parameter. By making another API request to Auth0, providing our app’s client ID and secret, we can exchange the login code for an access token. +To handle the “login” code flow as defined by Auth0, you will handle an incoming request to the `/auth` path, which will contain a `code` parameter. By making another API request to Auth0, providing our applications’s client ID and secret, you can exchange the login code for an access token. -To begin, we’ll add a new block of code to `handleEvent`, which will parse the request URL, and if the URL path matches `/auth`, we’ll call the newly imported `handleRedirect` function from `./auth0`. +To begin, add a new block of code to `handleEvent`, which will parse the request URL, and if the URL path matches `/auth`, call the newly imported `handleRedirect` function from `./auth0`. ```js --- @@ -214,7 +214,7 @@ async function handleEvent(event) { } ``` -The `handleRedirect` function, which we’ll export from `workers-site/auth0.js`, will parse the incoming URL, and pass the `code` login parameter to `exchangeCode`. We’ll also check for a `state` parameter, which we’ll use to prevent CSRF attacks. This `state` parameter should be matched to a known key in KV, indicating that the authorization request is valid: +The `handleRedirect` function, which you will export from `workers-site/auth0.js`, will parse the incoming URL, and pass the `code` login parameter to `exchangeCode`. Check for a `state` parameter, which you will use to prevent CSRF attacks. This `state` parameter should be matched to a known key in KV, indicating that the authorization request is valid: ```js --- @@ -241,7 +241,7 @@ export const handleRedirect = async event => { } ``` -Let’s define `exchangeCode`, which will take the `code` parameter, and make a request back to Auth0, exchanging it for an access token: +Define `exchangeCode`, which will take the `code` parameter, and make a request back to Auth0, exchanging it for an access token: ```js --- @@ -269,7 +269,7 @@ const exchangeCode = async code => { ### Persisting authorization data in Workers KV -Next we’ll define the `persistAuth` function to handle the request and parse the appropriate authorization info from it. Let’s begin by parsing the JSON body returned back from Auth0: +Next define the `persistAuth` function to handle the request and parse the appropriate authorization information from it. Begin by parsing the JSON body returned back from Auth0: ```js --- @@ -286,7 +286,7 @@ const persistAuth = async exchange => { } ``` -The `body` object — assuming no errors — will contain an `access_token`, `id_token`, and [other fields](https://auth0.com/docs/flows/guides/auth-code/add-login-auth-code#request-tokens) that we should persist inside of Workers KV, a key-value store that we can access inside of our Workers scripts. When we store data inside Workers KV we need to persist it using a key. The `id_token` field, which is returned by Auth0, is a [JSON Web Token](https://jwt.io) that contains a `sub` field, a unique identifier for each user. We’ll decode the JSON Web Token and parse it into an object: +The `body` object — assuming no errors — will contain an `access_token`, `id_token`, and [other fields](https://auth0.com/docs/flows/guides/auth-code/add-login-auth-code#request-tokens) that you should persist inside of Workers KV, a key-value store that we can access inside of our Workers scripts. When you store data inside Workers KV, you need to persist it using a key. The `id_token` field, which is returned by Auth0, is a [JSON Web Token](https://jwt.io) that contains a `sub` field, a unique identifier for each user. Decode the JSON Web Token and parse it into an object: ```js --- @@ -333,7 +333,7 @@ const persistAuth = async exchange => { } ``` -To ensure that the ID token we’ve received is valid, we should do a number of checks on the decoded token object, as per the [OpenID Connect Core 1.0 spec](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation). We’ll update the `persistAuth` function to validate the token — if it isn’t valid, we can return an object indicating that the response is invalid: +To ensure that the ID token you have received is valid, you should do a number of checks on the decoded token object, as per the [OpenID Connect Core 1.0 spec](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation). Update the `persistAuth` function to validate the token — if it is not valid, return an object indicating that the response is invalid: ```js --- @@ -355,14 +355,14 @@ const persistAuth = async exchange => { } ``` -Inside of `validateToken`, we’ll examine fields inside of the decoded token, ensuring that: +Inside of `validateToken` examine fields inside of the decoded token, ensuring that: - The `iss` field matches the `AUTH0_DOMAIN` secret - The `aud` field matches the `AUTH0_CLIENT_ID` secret - The `exp` field is after the current time - The `iat` field was issued in the last day -The code for this will use a `try/catch` block, throwing an error and returning false if any of the above criteria aren’t true: +The code for this will use a `try/catch` block, throwing an error and returning false if any of the above criteria are not true: ```js --- @@ -409,7 +409,7 @@ const validateToken = token => { } ``` -With the decoded JWT available and validated, we can hash and salt the `sub` value and use it as a unique identifier for the current user. To do this, we’ll use the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) available inside the Workers runtime. We’ll combine the `SALT` value, a secret that we’ll set later in the tutorial, with the `sub` value. By creating a SHA-256 digest of these combined strings, we can then use it as the key for storing the user’s JWT in Workers KV: +With the decoded JWT available and validated, you can hash and salt the `sub` value and use it as a unique identifier for the current user. To do this, use the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) available inside the Workers runtime. Combine the `SALT` value, a secret that you will set later in the tutorial, with the `sub` value. By creating a SHA-256 digest of these combined strings, you can then use it as the key for storing the user’s JWT in Workers KV: ```js --- @@ -428,9 +428,9 @@ const persistAuth = async exchange => { } ``` -Once the user’s authentication data has been stored in KV, we need to associate the user with that data. To do this, we’ll set a cookie, setting the value to the encrypted `id` string we just defined. +Once the user’s authentication data has been stored in KV, you need to associate the user with that data. To do this, set a cookie, setting the value to the encrypted `id` string you just defined. -This cookie will be used as we fill out the `verify` function defined earlier in the tutorial, and we’ll set it to expire in a day (though this is easily customizable to your application’s needs). To persist this cookie, we’ll return an object containing some data for a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) instance, redirecting the user via an [HTTP 302 response](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302) to the `/` path, with a `Set-cookie` header: +This cookie will be used as you fill out the `verify` function defined earlier in the tutorial. Set the cookie to expire in a day (though this is easily customizable to your application’s needs). To persist this cookie, return an object containing some data for a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) instance, redirecting the user via an [HTTP 302 response](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302) to the `/` path, with a `Set-cookie` header: ```js --- @@ -454,7 +454,7 @@ const persistAuth = async exchange => { } ``` -With our authorization logic defined, we can finally wrap up the corresponding code in `workers-site/index.js`. Knowing that the `handleRedirect` function will pass back an object with `Response` options, we can make a new `Response` object, passing in the information from the existing `response`, and adding the new headers and status code from `handleRedirect`. This will redirect the user to the app’s root path, setting a cookie to indicate that they’re authorized for future requests: +With our authorization logic defined, you can finally wrap up the corresponding code in `workers-site/index.js`. Knowing that the `handleRedirect` function will pass back an object with `Response` options, you can make a new `Response` object, passing in the information from the existing `response`, and adding the new headers and status code from `handleRedirect`. This will redirect the user to the app’s root path, setting a cookie to indicate that they are authorized for future requests: ```js --- @@ -484,9 +484,9 @@ async function handleEvent(event) { ## Implementing CSRF protection -To correctly protect against CSRF attacks, our application needs to provide a `state` parameter to the Auth0 login URL. When the user logs in and is redirected back to our application, we can compare the `state` parameter in the redirect URL to our previous piece of `state`, confirming that the user is beginning and ending the login flow via our application. +To correctly protect against CSRF attacks, our application needs to provide a `state` parameter to the Auth0 login URL. When the user logs in and is redirected back to our application, you can compare the `state` parameter in the redirect URL to our previous piece of `state`, confirming that the user is beginning and ending the login flow via your application. -We’ll generate this piece of state using `csprng.xyz`, a Cloudflare API service for generating random data. The API endpoint `csprng.xyz/v1/api` returns a JSON object with the key `Data` that we’ll use as the random value: +Generate this piece of state using `csprng.xyz`, a Cloudflare API service for generating random data. The API endpoint `csprng.xyz/v1/api` returns a JSON object with the key `Data` that you will use as the random value: ```json { @@ -496,7 +496,7 @@ We’ll generate this piece of state using `csprng.xyz`, a Cloudflare API servic } ``` -To persist this random data, we’ll use KV, persisting it for one day (86,400 seconds) before discarding it (note that this matches the `expires_at` time of the Auth0-provided `code` parameter). Replace the stubbed `generateStateParam` function in `workers-site/auth0.js` +The application will use Workers KV to persist this random data for one day (86,400 seconds), which is configured via the `expirationTtl` option. After one day, KV will automatically discard the `state-${state}` key. Replace the stubbed `generateStateParam` function in `workers-site/auth0.js` ```js --- @@ -512,9 +512,9 @@ const generateStateParam = async () => { ## Verifying the token and retrieving user info -With our application persisting authentication data in Workers KV and associating it to the current user via a cookie, we’re now prepared to fill out the `verify` function defined earlier in the tutorial. This function will look at the `Cookie` header, and look up the authentication info that we persisted in Workers KV. +With our application persisting authentication data in Workers KV and associating it to the current user via a cookie, you are now prepared to fill out the `verify` function defined earlier in the tutorial. This function will look at the `Cookie` header and try to locate the authentication information that you persisted in Workers KV. -To begin, install the NPM package [`cookie`](https://www.npmjs.com/package/cookie), which we’ll use to simplify parsing the `Cookie` header in the `request`: +To begin, install the NPM package [`cookie`](https://www.npmjs.com/package/cookie), which you will use to simplify parsing the `Cookie` header in the `request`: ```sh --- @@ -523,7 +523,7 @@ header: Install cookie package $ cd workers-site && npm install cookie ``` -In `workers-site/auth0.js`, we can begin to flesh out the contents of the `verify` function, beginning by parsing the `Cookie` header, looking for our `cookieKey` as defined earlier in the tutorial: +In `workers-site/auth0.js`, you can begin to write the contents of the `verify` function. Start by parsing the `Cookie` header, looking for your `cookieKey` as defined earlier in the tutorial: ```js --- @@ -543,7 +543,7 @@ const verify = async event => { } ``` -With the unique ID `sub` parsed from the `Cookie` header, we can use it to retrieve the user information we previously stored in KV. First, we’ll do a lookup to Workers KV using the `sub` field as a key — if it isn’t found, we’ll throw an `Error`. Next, we’ll take that data from Workers KV and attempt to parse it as JSON — if that fails, another `Error` will be thrown: +With the unique ID `sub` parsed from the `Cookie` header, use it to retrieve the user information you previously stored in KV. First, do a lookup to Workers KV using the `sub` field as a key — if it is not found, throw an `Error`. Next, take that data from Workers KV and attempt to parse it as JSON — if that fails, another `Error` will be thrown: ```js --- @@ -574,7 +574,7 @@ const verify = async event => { } ``` -Finally, we’ll decode the `idToken` stored in KV. This includes the `profile` and `email` scopes we requested from Auth0 when the user logged in, which we’ll return as `userInfo`, along with `accessToken` and `idToken`: +Finally, decode the `idToken` stored in KV. This includes the `profile` and `email` scopes you requested from Auth0 when the user logged in, which you will return as `userInfo`, along with `accessToken` and `idToken`: ```js --- @@ -608,7 +608,7 @@ const verify = async event => { } ``` -As a recap, this `verify` function will now correctly verify our application’s users based on the `Cookie` field and make any authorization information available as part of the `authorization` object: +As a summary, this `verify` function will now correctly verify your application’s users based on the `Cookie` field and make any authorization information available as part of the `authorization` object: ```js --- @@ -625,15 +625,15 @@ export const authorize = async event => { } ``` -By implementing this function, we’ve now completed the authorization/authentication portion of the tutorial! Our application will authorize any incoming users, redirecting them to Auth0 and verifying their access tokens before they’re allowed to see our Workers Site content. To configure your deployment and publish the application, you can skip to the “Publish” section, but in the next few portions of the tutorial, we’ll focus on some of the more interesting aspects of this project: using user information in our application, via “edge state hydration”, logging out our users, and some improvements and customizations that can be done to this application to make it ready for production usage. +By implementing this function, you have now completed the authorization/authentication portion of the tutorial. Your application will authorize any incoming users, redirecting them to Auth0 and verifying their access tokens before they are allowed to see your Workers Site content. To configure your deployment and publish the application, you can go to the [**Publish** section](/authorize-users-with-auth0#publish), but in the next few portions of the tutorial you will focus on some of the more interesting aspects of this project; for example, accessing user information within your application, “edge state hydration”, logging out users, and making the application more production-ready with some improvements and customizations. ### Improvements and customizations -This tutorial introduces concepts for implementing authentication in Workers using Auth0. There are several potential customizations and improvements to this codebase that are out-of-scope for this tutorial. I will briefly mention a few in this section, along with links to learn more. +This tutorial introduces concepts for implementing authentication in Workers using Auth0. There are several potential customizations and improvements to this codebase that are out-of-scope for this tutorial. This tutorial will briefly mention a few in this section, along with links to learn more. ### Using user data in our application -In the previous section of the tutorial, we made a request to Auth0’s `/userinfo` endpoint, which provides information such as name and email address for use in our application. Using Workers’ [HTML Rewriter](/runtime-apis/html-rewriter), we can embed the `userInfo` object that we’ve received from Auth0 directly into our site, by creating an instance of the `HTMLRewriter` class, and attaching a handler `hydrateState` to any found `head` tags that pass through the rewriter. The `hydrateState` handler will add a new `script` tag with an ID of `edge_state`, which we can parse and utilize in any front-end JavaScript code we’ll deploy with our application. Instead of simply returning `response` in `handleEvent`, we can replace it with the HTML rewriter code, and return a transformed version of `response`: +In the previous section of the tutorial, you made a request to Auth0’s `/userinfo` endpoint, which provides information such as name and email address for use in our application. Using Workers’ [HTML Rewriter](/runtime-apis/html-rewriter), you can embed the `userInfo` object that you received from Auth0 directly into your site by creating an instance of the `HTMLRewriter` class and attaching a `hydrateState` handler to any found `head` tags that pass through the rewriter. The `hydrateState` handler will add a new `script` tag with an ID of `edge_state`, which you can parse and utilize in any front-end JavaScript code you will deploy with your application. Instead of simply returning `response` in `handleEvent`, replace it with the HTML rewriter code and return a transformed version of `response`: ```js --- @@ -668,13 +668,13 @@ async function handleEvent(event) { } ``` -For a more detailed example of this functionality, check out the [source code](https://github.com/signalnerve/workers-auth0-example/) for this tutorial, which shows how to integrate this information using the JavaScript framework Alpine.js. In this example, the `userInfo` object is embedded into the `script#edge_state` tag, and when the site is rendered in the client’s browser, the user’s name (or email address, if the user’s name isn’t provided) is displayed: +For a more detailed example of this functionality, refer to the [source code](https://github.com/signalnerve/workers-auth0-example/) for this tutorial, which shows how to integrate this information using the JavaScript framework Alpine.js. In this example, the `userInfo` object is embedded into the `script#edge_state` tag, and when the site is rendered in the client’s browser, the user’s name (or email address, if the user’s name isn’t provided) is displayed: ![User info](./media/userInfo.png) ### Logging out users -While a user’s authentication cookie expires after a day, you may want to offer the ability for a user to log out manually. This is quite simple to implement — instead of letting the cookie expire automatically, your Workers application should pass a `Set-cookie` header that nulls out the `cookieKey` we previously defined. Let’s create a `logout` function in `workers-site/auth0.js`, and import it in `workers-site/index.js`, calling it when a user requests `/logout`: +While a user’s authentication cookie expires after a day, you may want to offer the ability for a user to log out manually. This is quite simple to implement — instead of letting the cookie expire automatically, your Workers application should pass a `Set-cookie` header that nulls out the `cookieKey` you previously defined. Create a `logout` function in `workers-site/auth0.js` and import it in `workers-site/index.js`, calling it when a user requests `/logout`: ```js --- @@ -721,14 +721,16 @@ async function handleEvent(event) { } ``` -In your Workers Site, you can add a “Log out” link, which will send users to the `/logout` route, and clear their auth cookie via the `Set-cookie` header: +In your Workers Site, you can add a **Log out** link, which will send users to the `/logout` route, and clear their auth cookie via the `Set-cookie` header: ```html Log out ``` -