Skip to content

Latest commit

 

History

History
1523 lines (1032 loc) · 77.3 KB

File metadata and controls

1523 lines (1032 loc) · 77.3 KB

Change Log

1.7.4

Patch Changes

1.7.3

Patch Changes

  • Updated dependencies [02a1f42, edc0bfd]:
    • @clerk/shared@3.10.1
    • @clerk/types@4.62.1
    • @clerk/backend@2.3.1

1.7.2

Patch Changes

1.7.1

Patch Changes

1.7.0

Minor Changes

  • Introduces machine authentication, supporting four token types: api_key, oauth_token, machine_token, and session_token. For backwards compatibility, session_token remains the default when no token type is specified. This enables machine-to-machine authentication and use cases such as API keys and OAuth integrations. Existing applications continue to work without modification. (#6067) by @wobsoriano

    You can specify which token types are allowed by using the acceptsToken option in the getAuth() function. This option can be set to a specific type, an array of types, or 'any' to accept all supported tokens.

    Example usage:

    import express from 'express';
    import { getAuth } from '@clerk/express';
    
    const app = express();
    
    app.get('/path', (req, res) => {
      const authObject = getAuth(req, { acceptsToken: 'any' });
    
      if (authObject.tokenType === 'session_token') {
        console.log('this is session token from a user');
      } else {
        console.log('this is some other type of machine token');
        console.log('more specifically, a ' + authObject.tokenType);
      }
    });

Patch Changes

1.6.0

Minor Changes

  • Machine authentication is now supported for advanced use cases via the backend SDK. You can use clerkClient.authenticateRequest to validate machine tokens (such as API keys, OAuth tokens, and machine-to-machine tokens). No new helpers are included in these packages yet. (#5689) by @wobsoriano

    Example (Astro):

    import { clerkClient } from '@clerk/astro/server';
    
    export const GET: APIRoute = ({ request }) => {
      const requestState = await clerkClient.authenticateRequest(request, {
        acceptsToken: 'api_key',
      });
    
      if (!requestState.isAuthenticated) {
        return new Response(401, { message: 'Unauthorized' });
      }
    
      return new Response(JSON.stringify(requestState.toAuth()));
    };
  • The svix dependency is no longer needed when using the verifyWebhook() function. verifyWebhook() was refactored to not rely on svix anymore while keeping the same functionality and behavior. (#6059) by @royanger

    If you previously installed svix to use verifyWebhook() you can uninstall it now:

    npm uninstall svix

Patch Changes

1.5.2

Patch Changes

1.5.1

Patch Changes

  • Allow property access on req.auth to get AuthObject for backward compatibility. (#5995) by @wobsoriano

  • Updated dependencies [6ed3dfc, 22c3363, ac6b231]:

    • @clerk/types@4.59.2
    • @clerk/backend@1.33.1
    • @clerk/shared@3.9.4

1.5.0

Minor Changes

  • Introduce treatPendingAsSignedOut option to getAuth (#5842) by @LauraBeatris

    // `pending` sessions will be treated as signed-out by default
    const { userId } = getAuth(req);
    // Both `active` and `pending` sessions will be treated as authenticated when `treatPendingAsSignedOut` is false
    const { userId } = getAuth(req, { treatPendingAsSignedOut: false });

Patch Changes

1.4.20

Patch Changes

  • Updated dependencies [c305b31, b813cbe, 6bb480e]:
    • @clerk/types@4.59.1
    • @clerk/backend@1.32.3
    • @clerk/shared@3.9.2

1.4.19

Patch Changes

1.4.18

Patch Changes

  • Updated dependencies [1ff6d6e, fbf3cf4]:
    • @clerk/shared@3.9.0
    • @clerk/types@4.58.1
    • @clerk/backend@1.32.1

1.4.17

Patch Changes

1.4.16

Patch Changes

1.4.15

Patch Changes

1.4.14

Patch Changes

  • Updated dependencies [9ec0a73, d9222fc]:
    • @clerk/types@4.56.3
    • @clerk/backend@1.31.2
    • @clerk/shared@3.7.8

1.4.13

Patch Changes

  • Updated dependencies [225b9ca]:
    • @clerk/types@4.56.2
    • @clerk/backend@1.31.1
    • @clerk/shared@3.7.7

1.4.12

Patch Changes

1.4.11

Patch Changes

1.4.10

Patch Changes

1.4.9

Patch Changes

  • Updated dependencies [ba19465, 8b25035]:
    • @clerk/backend@1.30.0
    • @clerk/types@4.55.1
    • @clerk/shared@3.7.4

1.4.8

Patch Changes

  • Updated dependencies [33201bf, 4334598, 0ae0403]:
    • @clerk/types@4.55.0
    • @clerk/backend@1.29.2
    • @clerk/shared@3.7.3

1.4.7

Patch Changes

1.4.6

Patch Changes

1.4.5

Patch Changes

1.4.4

Patch Changes

1.4.3

Patch Changes

1.4.2

Patch Changes

  • Updated dependencies [f6f275d]:
    • @clerk/backend@1.27.1
    • @clerk/types@4.51.1
    • @clerk/shared@3.4.1

1.4.1

Patch Changes

1.4.0

Minor Changes

  • Introduce a verifyWebhook() function to verify incoming Clerk webhook requests and process the payload. This function handles webhook signature verification using Svix and is now available across all backend and fullstack SDKs. (#5468) by @wobsoriano

    To get started, install svix, which Clerk uses to verify its webhooks:

    npm install svix

    Then in your webhook route handler, import verifyWebhook() from the Express SDK:

    import { verifyWebhook } from '@clerk/express/webhooks';
    
    app.post(
      '/api/webhooks',
      bodyParser.raw({ type: 'application/json' }),
    
      async (req, res) => {
        try {
          const evt = await verifyWebhook(req);
    
          // Do something with payload
          const { id } = evt.data;
          const eventType = evt.type;
          console.log(`Received webhook with ID ${id} and event type of ${eventType}`);
          console.log('Webhook payload:', body);
    
          return res.status(200).send('Webhook received');
        } catch (err) {
          console.log('Error: Could not verify webhook:', err.message);
          return res.status(400).send('Error: Verification error');
        }
      },
    );

    For more information on how to sync Clerk data to your app with webhooks, see our guide.

Patch Changes

1.3.59

Patch Changes

  • Updated dependencies [e20fb6b, 77e6462]:
    • @clerk/shared@3.2.3
    • @clerk/types@4.50.1
    • @clerk/backend@1.25.8

1.3.58

Patch Changes

1.3.57

Patch Changes

  • Updated dependencies [27d66a5, 466ed13]:
    • @clerk/backend@1.25.6
    • @clerk/types@4.49.2
    • @clerk/shared@3.2.1

1.3.56

Patch Changes

  • Updated dependencies [892bc0e, 892bc0e]:
    • @clerk/backend@1.25.5
    • @clerk/shared@3.2.0

1.3.55

Patch Changes

  • Updated dependencies [facefaf, 3910ebe, e513333]:
    • @clerk/backend@1.25.4
    • @clerk/types@4.49.1
    • @clerk/shared@3.1.0

1.3.54

Patch Changes

1.3.53

Patch Changes

1.3.52

Patch Changes

1.3.51

Patch Changes

1.3.50

Patch Changes

1.3.49

Patch Changes

1.3.48

Patch Changes

1.3.47

Patch Changes

1.3.46

Patch Changes

1.3.45

Patch Changes

1.3.44

Patch Changes

1.3.43

Patch Changes

1.3.42

Patch Changes

1.3.41

Patch Changes

1.3.40

Patch Changes

1.3.39

Patch Changes

1.3.38

Patch Changes

1.3.37

Patch Changes

1.3.36

Patch Changes

1.3.35

Patch Changes

1.3.34

Patch Changes

1.3.33

Patch Changes

1.3.32

Patch Changes

1.3.31

Patch Changes

1.3.30

Patch Changes

1.3.29

Patch Changes

1.3.28

Patch Changes

1.3.27

Patch Changes

1.3.26

Patch Changes

1.3.25

Patch Changes

1.3.24

Patch Changes

1.3.23

Patch Changes

1.3.22

Patch Changes

1.3.21

Patch Changes

1.3.20

Patch Changes

1.3.19

Patch Changes

1.3.18

Patch Changes

1.3.17

Patch Changes

1.3.16

Patch Changes

1.3.15

Patch Changes

1.3.14

Patch Changes

1.3.13

Patch Changes

1.3.12

Patch Changes

1.3.11

Patch Changes

1.3.10

Patch Changes

1.3.9

Patch Changes

1.3.8

Patch Changes

1.3.7

Patch Changes

1.3.4

Patch Changes

1.3.3

Patch Changes

  • Updated dependencies [3fdcdbf88, 1c7e105a3]:
    • @clerk/types@4.28.0
    • @clerk/backend@1.15.1
    • @clerk/shared@2.10.1

1.3.2

Patch Changes

1.3.1

Patch Changes

  • Updated dependencies [e1a26547a]:
    • @clerk/backend@1.14.1

1.3.0

Minor Changes

  • Export authenticateRequest method from @clerk/express (in case you want to go low-level and implement flows to your specific needs). You can use it like so: (#4340) by @jescalan

    import { authenticateRequest } from '@clerk/express';

    This function is adapted to Express' Request wrapper and as such notably different to the exported function from @clerk/backend. If you need to use it, be sure to import from @clerk/express.

Patch Changes

1.2.3

Patch Changes

  • Updated dependencies [d64e54c40, 2ba2fd148]:
    • @clerk/shared@2.9.1
    • @clerk/types@4.25.1
    • @clerk/backend@1.13.10

1.2.2

Patch Changes

  • Updated dependencies [358be296a]:
    • @clerk/backend@1.13.9

1.2.1

Patch Changes

  • Updated dependencies [fb932e5cf]:
    • @clerk/shared@2.9.0
    • @clerk/types@4.25.0
    • @clerk/backend@1.13.8

1.2.0

Minor Changes

Patch Changes

  • Updated dependencies [f6fb8b53d, 4a8570590]:
    • @clerk/types@4.24.0
    • @clerk/backend@1.13.7
    • @clerk/shared@2.8.5

1.1.0

Minor Changes

  • Make the requireAuth middleware redirect to sign-in URL instead of forwarding errors, and remove custom handler option from clerkMiddleware. (#4234) by @wobsoriano

Patch Changes

1.0.2

Patch Changes

1.0.1

Patch Changes

1.0.0

Major Changes

Patch Changes

0.1.3

Patch Changes

  • Updated dependencies [02babaccb]:
    • @clerk/backend@1.13.2

0.1.2

Patch Changes

  • Updated dependencies [3743eb911]:
    • @clerk/shared@2.8.1
    • @clerk/backend@1.13.1

0.1.1

Patch Changes

  • Updated dependencies [e578b1599]:
    • @clerk/backend@1.13.0

0.1.0

Minor Changes

Patch Changes

0.0.39

Patch Changes

  • Updated dependencies [be3b119f8]:
    • @clerk/shared@2.7.2
    • @clerk/backend@1.11.1

0.0.38

Patch Changes

  • Updated dependencies [b97b2c1ca, 8c6909d46]:
    • @clerk/backend@1.11.0
    • @clerk/types@4.20.1
    • @clerk/shared@2.7.1

0.0.37

Patch Changes

0.0.36

Patch Changes

0.0.35

Patch Changes

  • Updated dependencies [82593173a, afad9af89]:
    • @clerk/types@4.18.0
    • @clerk/backend@1.9.1
    • @clerk/shared@2.6.1

0.0.34

Patch Changes

0.0.33

Patch Changes

  • Updated dependencies [c1389492d]:
    • @clerk/types@4.16.0
    • @clerk/backend@1.8.3
    • @clerk/shared@2.5.5

0.0.32

Patch Changes

  • Updated dependencies [0158c774a, 8be1a7abc]:
    • @clerk/types@4.15.1
    • @clerk/backend@1.8.2
    • @clerk/shared@2.5.4

0.0.31

Patch Changes

  • Updated dependencies [247b3fd75]:
    • @clerk/types@4.15.0
    • @clerk/backend@1.8.1
    • @clerk/shared@2.5.3

0.0.30

Patch Changes

  • Updated dependencies [ed7baa048]:
    • @clerk/backend@1.8.0

0.0.29

Patch Changes

  • Updated dependencies [dc0e1c33d, dc94c0834]:
    • @clerk/types@4.14.0
    • @clerk/backend@1.7.0
    • @clerk/shared@2.5.2

0.0.28

Patch Changes

  • Updated dependencies [7e0ced3da, b6f0613dc]:
    • @clerk/shared@2.5.1
    • @clerk/types@4.13.1
    • @clerk/backend@1.6.3

0.0.27

Patch Changes

  • Updated dependencies [59d5f19d3, 4e6c94e3f]:
    • @clerk/shared@2.5.0
    • @clerk/types@4.13.0
    • @clerk/backend@1.6.2

0.0.26

Patch Changes

  • Internal change: Use AuthObject type import from @clerk/backend. (#3844) by @kduprey

  • Updated dependencies [d7bf0f87c, 9b2aeacb3]:

    • @clerk/backend@1.6.1
    • @clerk/types@4.12.1
    • @clerk/shared@2.4.5

0.0.25

Patch Changes

  • Updated dependencies [7e94fcf0f]:
    • @clerk/backend@1.6.0
    • @clerk/types@4.12.0
    • @clerk/shared@2.4.4

0.0.24

Patch Changes

  • Updated dependencies [568186cad, 407195270]:
    • @clerk/types@4.11.0
    • @clerk/backend@1.5.2
    • @clerk/shared@2.4.3

0.0.23

Patch Changes

  • Updated dependencies [992e5960c]:
    • @clerk/backend@1.5.1

0.0.22

Patch Changes

0.0.21

Patch Changes

  • Updated dependencies [b48689705]:
    • @clerk/types@4.9.1
    • @clerk/backend@1.4.3
    • @clerk/shared@2.4.1

0.0.20

Patch Changes

  • Updated dependencies [d465d7069]:
    • @clerk/backend@1.4.2

0.0.19

Patch Changes

  • Updated dependencies [045fb93cb]:
    • @clerk/backend@1.4.1

0.0.18

Patch Changes

0.0.17

Patch Changes

  • Updated dependencies [df7d856d5]:
    • @clerk/types@4.8.0
    • @clerk/backend@1.3.2
    • @clerk/shared@2.3.3

0.0.16

Patch Changes

  • Updated dependencies [5642b2616]:
    • @clerk/backend@1.3.1

0.0.15

Patch Changes

  • Updated dependencies [f1847b70b]:
    • @clerk/backend@1.3.0

0.0.14

Patch Changes

  • Updated dependencies [d6b5006c4]:
    • @clerk/types@4.7.0
    • @clerk/backend@1.2.5
    • @clerk/shared@2.3.2

0.0.13

Patch Changes

  • Updated dependencies [1273b04ec]:
    • @clerk/types@4.6.1
    • @clerk/backend@1.2.4
    • @clerk/shared@2.3.1

0.0.12

Patch Changes

  • Updated dependencies [4ec3f63e2]:
    • @clerk/shared@2.3.0
    • @clerk/backend@1.2.3

0.0.11

Patch Changes

0.0.10

Patch Changes

0.0.9

Patch Changes

0.0.8

Patch Changes

0.0.7

Patch Changes

  • Updated dependencies [b27ca8366]:
    • @clerk/shared@2.1.0
    • @clerk/backend@1.1.4

0.0.6

Patch Changes

  • Updated dependencies [b92402258]:
    • @clerk/backend@1.1.3

0.0.5

Patch Changes

0.0.4

Patch Changes

0.0.3

Patch Changes

0.0.2

Patch Changes

0.0.1

Patch Changes

  • 8d73bea16: Introduce Express specific Clerk SDK called @clerk/express. The SDK exposes the following APIs:

    • clerkClient: Default @clerk/backend client initialized from environment variables and used to make backend API requests
    • clerkMiddleware: Centralized middleware that authenticates all requests without blocking them (also triggers handshake mechanism)
    • getAuth: Utility to retrieve the auth state from a request (requires clerkMiddleware to be executed)
    • requireAuth: Middleware that returns HTTP 401 response when request is signed-out

    Also all the top level exports from @clerk/backend are re-exported from @clerk/express.

  • 30c11f532: Set the version of @clerk/express to 0.0.1 pre-release

  • Updated dependencies [3a2f13604]

  • Updated dependencies [8c23651b8]

  • Updated dependencies [f4f99f18d]

  • Updated dependencies [743c4d204]

  • Updated dependencies [4b8bedc66]

  • Updated dependencies [9272006e7]

  • Updated dependencies [c2a090513]

  • Updated dependencies [966b31205]

  • Updated dependencies [1834a3ee4]

  • Updated dependencies [a8901be64]

  • Updated dependencies [896cb6104]

  • Updated dependencies [64d3763ec]

  • Updated dependencies [8350109ab]

  • Updated dependencies [7b200af49]

  • Updated dependencies [988a299c0]

  • Updated dependencies [ecb60da48]

  • Updated dependencies [deac67c1c]

  • Updated dependencies [b3a3dcdf4]

  • Updated dependencies [1dc28ab46]

  • Updated dependencies [83e9d0846]

  • Updated dependencies [244de5ea3]

  • Updated dependencies [791c49807]

  • Updated dependencies [935b0886e]

  • Updated dependencies [93d05c868]

  • Updated dependencies [ea4933655]

  • Updated dependencies [a9fe242be]

  • Updated dependencies [448e02e93]

  • Updated dependencies [2671e7aa5]

  • Updated dependencies [799abc281]

  • Updated dependencies [4aaf5103d]

  • Updated dependencies [a68eb3083]

  • Updated dependencies [2de442b24]

  • Updated dependencies [15af02a83]

  • Updated dependencies [db18787c4]

  • Updated dependencies [7f833da9e]

  • Updated dependencies [de6519daa]

  • Updated dependencies [e6ecbaa2f]

  • Updated dependencies [ef2325dcc]

  • Updated dependencies [6a769771c]

  • Updated dependencies [fc3ffd880]

  • Updated dependencies [8b6b094b9]

  • Updated dependencies [bab2e7e05]

  • Updated dependencies [71663c568]

  • Updated dependencies [a6b893d28]

  • Updated dependencies [02976d494]

  • Updated dependencies [492b8a7b1]

  • Updated dependencies [8e5c881c4]

  • Updated dependencies [9e99eb727]

  • Updated dependencies [034c47ccb]

  • Updated dependencies [e5c989a03]

  • Updated dependencies [7ecd6f6ab]

  • Updated dependencies [12f3c5c55]

  • Updated dependencies [c776f86fb]

  • Updated dependencies [90aa2ea9c]

  • Updated dependencies [1e98187b4]

  • Updated dependencies [a605335e1]

  • Updated dependencies [2e77cd737]

  • Updated dependencies [2964f8a47]

  • Updated dependencies [7af0949ae]

  • Updated dependencies [97407d8aa]

  • Updated dependencies [63dfe8dc9]

  • Updated dependencies [e921af259]

  • Updated dependencies [d08ec6d8f]

  • Updated dependencies [dd5703013]

  • Updated dependencies [5f58a2274]

  • Updated dependencies [03079579d]

  • Updated dependencies [c22cd5214]

  • Updated dependencies [52ff8fe6b]

  • Updated dependencies [86d52fb5c]

  • Updated dependencies [c7e6d00f5]

  • Updated dependencies [8cc45d2af]

  • Updated dependencies [a9fe242be]

  • Updated dependencies [97407d8aa]

  • Updated dependencies [12962bc58]

  • Updated dependencies [7cb1241a9]

  • Updated dependencies [9615e6cda]

  • Updated dependencies [0ec3a146c]

  • Updated dependencies [4bb57057e]

  • Updated dependencies [bad4de1a2]

  • Updated dependencies [d4ff346dd]

  • Updated dependencies [7644b7472]

  • Updated dependencies [2ec9f6b09]

  • Updated dependencies [66b283653]

  • Updated dependencies [46040a2f3]

  • Updated dependencies [cace85374]

  • Updated dependencies [1ad910eb9]

  • Updated dependencies [8daf8451c]

  • Updated dependencies [f58a9949b]

  • Updated dependencies [4aaf5103d]

  • Updated dependencies [75ea300bc]

  • Updated dependencies [d22e6164d]

  • Updated dependencies [e1f7eae87]

  • Updated dependencies [7f751c4ef]

  • Updated dependencies [4fced88ac]

  • Updated dependencies [f5d55bb1f]

  • Updated dependencies [0d1052ac2]

  • Updated dependencies [d30ea1faa]

  • Updated dependencies [e7e2a1eae]

  • Updated dependencies [1fd2eff38]

  • Updated dependencies [5471c7e8d]

  • Updated dependencies [a6308c67e]

  • Updated dependencies [0ce0edc28]

  • Updated dependencies [9b02c1aae]

  • Updated dependencies [051833167]

  • Updated dependencies [b4e79c1b9]

  • Updated dependencies [38d8b3e8a]

  • Updated dependencies [be991365e]

  • Updated dependencies [8350f73a6]

  • Updated dependencies [e0e79b4fe]

  • Updated dependencies [e602d6c1f]

  • Updated dependencies [142ded732]

  • Updated dependencies [fb794ce7b]

  • Updated dependencies [e6fc58ae4]

  • Updated dependencies [6fffd3b54]

  • Updated dependencies [a6451aece]

  • Updated dependencies [987994909]

  • Updated dependencies [40ac4b645]

  • Updated dependencies [1bea9c200]

  • Updated dependencies [6f755addd]

  • Updated dependencies [6eab66050]

  • Updated dependencies [c2b982749]

    • @clerk/backend@1.0.0
    • @clerk/shared@2.0.0

1.0.1-beta.4

Patch Changes

  • Updated dependencies [bab2e7e05]:
    • @clerk/shared@2.0.0-beta.23
    • @clerk/backend@1.0.0-beta.37

1.0.1-beta.3

Patch Changes

1.0.1-beta.2

Patch Changes

  • Updated dependencies [7cb1241a9]:
    • @clerk/backend@1.0.0-beta.35

1.0.1-beta.1

Patch Changes

  • Updated dependencies [ecb60da48]:
    • @clerk/backend@1.0.0-beta.34

1.0.1-beta.0

Patch Changes

  • Introduce Express specific Clerk SDK called @clerk/express. The SDK exposes the following APIs: (#2918) by @dimkl

    • clerkClient: Default @clerk/backend client initialized from environment variables and used to make backend API requests
    • clerkMiddleware: Centralized middleware that authenticates all requests without blocking them (also triggers handshake mechanism)
    • getAuth: Utility to retrieve the auth state from a request (requires clerkMiddleware to be executed)
    • requireAuth: Middleware that returns HTTP 401 response when request is signed-out

    Also all the top level exports from @clerk/backend are re-exported from @clerk/express.

  • Updated dependencies [63dfe8dc9, d22e6164d]:

    • @clerk/backend@1.0.0-beta.33