@frontegg/nextjs 6.8.0-alpha.3740944551 → 7.0.1-alpha.4496571541

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/CHANGELOG.md +513 -0
  2. package/README.md +344 -4
  3. package/api/index.d.ts +19 -0
  4. package/api/index.js +87 -0
  5. package/api/index.js.map +1 -0
  6. package/api/package.json +6 -0
  7. package/api/urls.d.ts +33 -0
  8. package/api/urls.js +56 -0
  9. package/api/urls.js.map +1 -0
  10. package/api/utils.d.ts +40 -0
  11. package/api/utils.js +135 -0
  12. package/api/utils.js.map +1 -0
  13. package/app/ClientFronteggProvider.d.ts +3 -0
  14. package/app/ClientFronteggProvider.js +32 -0
  15. package/app/ClientFronteggProvider.js.map +1 -0
  16. package/app/FronteggAppProvider.d.ts +4 -0
  17. package/app/FronteggAppProvider.js +25 -0
  18. package/app/FronteggAppProvider.js.map +1 -0
  19. package/app/FronteggAppRouter.d.ts +10 -0
  20. package/app/FronteggAppRouter.js +39 -0
  21. package/app/FronteggAppRouter.js.map +1 -0
  22. package/app/helpers.d.ts +5 -0
  23. package/app/helpers.js +43 -0
  24. package/app/helpers.js.map +1 -0
  25. package/app/index.d.ts +4 -0
  26. package/app/index.js +39 -0
  27. package/app/index.js.map +1 -0
  28. package/app/package.json +6 -0
  29. package/{AppContext.d.ts → common/AppContext.d.ts} +4 -4
  30. package/common/AppContext.js +12 -0
  31. package/common/AppContext.js.map +1 -0
  32. package/{AuthorizedContent.d.ts → common/AuthorizedContent.d.ts} +9 -8
  33. package/common/AuthorizedContent.js +54 -0
  34. package/common/AuthorizedContent.js.map +1 -0
  35. package/common/FronteggBaseProvider.d.ts +3 -0
  36. package/common/FronteggBaseProvider.js +76 -0
  37. package/common/FronteggBaseProvider.js.map +1 -0
  38. package/common/FronteggRouterBase.d.ts +9 -0
  39. package/common/FronteggRouterBase.js +62 -0
  40. package/common/FronteggRouterBase.js.map +1 -0
  41. package/common/helpers.d.ts +3 -0
  42. package/common/helpers.js +32 -0
  43. package/common/helpers.js.map +1 -0
  44. package/common/index.d.ts +4 -0
  45. package/common/index.js +45 -0
  46. package/common/index.js.map +1 -0
  47. package/common/package.json +6 -0
  48. package/common/useRequestAuthorizeSSR.d.ts +5 -0
  49. package/common/useRequestAuthorizeSSR.js +30 -0
  50. package/common/useRequestAuthorizeSSR.js.map +1 -0
  51. package/config/constants.d.ts +57 -0
  52. package/config/constants.js +20 -0
  53. package/config/constants.js.map +1 -0
  54. package/config/helpers.d.ts +28 -0
  55. package/config/helpers.js +97 -0
  56. package/config/helpers.js.map +1 -0
  57. package/config/index.d.ts +24 -0
  58. package/config/index.js +94 -0
  59. package/config/index.js.map +1 -0
  60. package/config/package.json +6 -0
  61. package/config/types.d.ts +18 -0
  62. package/config/types.js +6 -0
  63. package/config/types.js.map +1 -0
  64. package/edge/getSessionOnEdge.d.ts +3 -0
  65. package/edge/getSessionOnEdge.js +16 -0
  66. package/edge/getSessionOnEdge.js.map +1 -0
  67. package/edge/index.d.ts +3 -0
  68. package/edge/index.js +39 -0
  69. package/edge/index.js.map +1 -0
  70. package/edge/package.json +6 -0
  71. package/edge/redirectToLogin.d.ts +2 -0
  72. package/edge/redirectToLogin.js +16 -0
  73. package/edge/redirectToLogin.js.map +1 -0
  74. package/edge/shouldBypassMiddleware.d.ts +21 -0
  75. package/edge/shouldBypassMiddleware.js +55 -0
  76. package/edge/shouldBypassMiddleware.js.map +1 -0
  77. package/index.d.ts +7 -12
  78. package/index.js +107 -0
  79. package/index.js.map +1 -0
  80. package/middleware/FronteggApiMiddleware.d.ts +8 -0
  81. package/middleware/FronteggApiMiddleware.js +34 -0
  82. package/middleware/FronteggApiMiddleware.js.map +1 -0
  83. package/middleware/FronteggProxy.d.ts +4 -0
  84. package/middleware/FronteggProxy.js +31 -0
  85. package/middleware/FronteggProxy.js.map +1 -0
  86. package/middleware/ProxyRequestCallback.d.ts +13 -0
  87. package/middleware/ProxyRequestCallback.js +56 -0
  88. package/middleware/ProxyRequestCallback.js.map +1 -0
  89. package/middleware/ProxyResponseCallback.d.ts +13 -0
  90. package/middleware/ProxyResponseCallback.js +111 -0
  91. package/middleware/ProxyResponseCallback.js.map +1 -0
  92. package/middleware/constants.d.ts +8 -0
  93. package/middleware/constants.js +17 -0
  94. package/middleware/constants.js.map +1 -0
  95. package/{FronteggMiddleware.d.ts → middleware/helpers.d.ts} +13 -20
  96. package/middleware/helpers.js +44 -0
  97. package/middleware/helpers.js.map +1 -0
  98. package/middleware/index.d.ts +23 -0
  99. package/middleware/index.js +13 -0
  100. package/middleware/index.js.map +1 -0
  101. package/middleware/package.json +6 -0
  102. package/no-ssr/ExpireInListener.d.ts +1 -0
  103. package/no-ssr/ExpireInListener.js +29 -0
  104. package/no-ssr/ExpireInListener.js.map +1 -0
  105. package/no-ssr/FronteggProviderNoSSR.d.ts +4 -0
  106. package/no-ssr/FronteggProviderNoSSR.js +84 -0
  107. package/no-ssr/FronteggProviderNoSSR.js.map +1 -0
  108. package/no-ssr/index.d.ts +2 -0
  109. package/no-ssr/index.js +13 -0
  110. package/no-ssr/index.js.map +1 -0
  111. package/no-ssr/package.json +6 -0
  112. package/package.json +34 -11
  113. package/pages/FronteggPagesProvider/index.d.ts +4 -0
  114. package/pages/FronteggPagesProvider/index.js +32 -0
  115. package/pages/FronteggPagesProvider/index.js.map +1 -0
  116. package/pages/FronteggPagesProvider/package.json +6 -0
  117. package/{FronteggRouter.d.ts → pages/FronteggRouter/FronteggRouter.d.ts} +5 -5
  118. package/pages/FronteggRouter/FronteggRouter.js +46 -0
  119. package/pages/FronteggRouter/FronteggRouter.js.map +1 -0
  120. package/pages/FronteggRouter/index.d.ts +26 -0
  121. package/pages/FronteggRouter/index.js +19 -0
  122. package/pages/FronteggRouter/index.js.map +1 -0
  123. package/pages/FronteggRouter/package.json +6 -0
  124. package/pages/helpers.d.ts +10 -0
  125. package/pages/helpers.js +40 -0
  126. package/pages/helpers.js.map +1 -0
  127. package/pages/index.d.ts +3 -0
  128. package/pages/index.js +47 -0
  129. package/pages/index.js.map +1 -0
  130. package/pages/package.json +6 -0
  131. package/pages/withFronteggApp/index.d.ts +2 -0
  132. package/pages/withFronteggApp/index.js +13 -0
  133. package/pages/withFronteggApp/index.js.map +1 -0
  134. package/pages/withFronteggApp/package.json +6 -0
  135. package/pages/withFronteggApp/types.d.ts +11 -0
  136. package/pages/withFronteggApp/types.js +6 -0
  137. package/pages/withFronteggApp/types.js.map +1 -0
  138. package/pages/withFronteggApp/withFronteggApp.d.ts +2 -0
  139. package/pages/withFronteggApp/withFronteggApp.js +70 -0
  140. package/pages/withFronteggApp/withFronteggApp.js.map +1 -0
  141. package/sdkVersion.d.ts +4 -0
  142. package/sdkVersion.js +11 -0
  143. package/sdkVersion.js.map +1 -0
  144. package/types/index.d.ts +80 -0
  145. package/types/index.js +6 -0
  146. package/types/index.js.map +1 -0
  147. package/types/package.json +6 -0
  148. package/utils/common/constants.d.ts +12 -0
  149. package/utils/common/constants.js +23 -0
  150. package/utils/common/constants.js.map +1 -0
  151. package/utils/common/index.d.ts +15 -0
  152. package/utils/common/index.js +32 -0
  153. package/utils/common/index.js.map +1 -0
  154. package/utils/common/package.json +6 -0
  155. package/utils/cookies/constants.d.ts +7 -0
  156. package/utils/cookies/constants.js +15 -0
  157. package/utils/cookies/constants.js.map +1 -0
  158. package/utils/cookies/helpers.d.ts +25 -0
  159. package/utils/cookies/helpers.js +64 -0
  160. package/utils/cookies/helpers.js.map +1 -0
  161. package/utils/cookies/index.d.ts +45 -0
  162. package/utils/cookies/index.js +239 -0
  163. package/utils/cookies/index.js.map +1 -0
  164. package/utils/cookies/package.json +6 -0
  165. package/utils/cookies/serializer.d.ts +22 -0
  166. package/utils/cookies/serializer.js +161 -0
  167. package/utils/cookies/serializer.js.map +1 -0
  168. package/utils/cookies/types.d.ts +31 -0
  169. package/utils/cookies/types.js +6 -0
  170. package/utils/cookies/types.js.map +1 -0
  171. package/utils/createSession/index.d.ts +2 -0
  172. package/utils/createSession/index.js +51 -0
  173. package/utils/createSession/index.js.map +1 -0
  174. package/utils/createSession/package.json +6 -0
  175. package/utils/encryption/index.d.ts +3 -0
  176. package/utils/encryption/index.js +37 -0
  177. package/utils/encryption/index.js.map +1 -0
  178. package/utils/encryption/package.json +6 -0
  179. package/utils/encryption-edge/index.d.ts +3 -0
  180. package/utils/encryption-edge/index.js +37 -0
  181. package/utils/encryption-edge/index.js.map +1 -0
  182. package/utils/encryption-edge/package.json +6 -0
  183. package/utils/errors/FronteggEnvNotFound.d.ts +3 -0
  184. package/utils/errors/FronteggEnvNotFound.js +15 -0
  185. package/utils/errors/FronteggEnvNotFound.js.map +1 -0
  186. package/utils/errors/InvalidFronteggEnv.d.ts +3 -0
  187. package/utils/errors/InvalidFronteggEnv.js +15 -0
  188. package/utils/errors/InvalidFronteggEnv.js.map +1 -0
  189. package/utils/errors/index.d.ts +2 -0
  190. package/utils/errors/index.js +28 -0
  191. package/utils/errors/index.js.map +1 -0
  192. package/utils/errors/package.json +6 -0
  193. package/utils/fetchUserData/index.d.ts +7 -0
  194. package/utils/fetchUserData/index.js +56 -0
  195. package/utils/fetchUserData/index.js.map +1 -0
  196. package/utils/fetchUserData/package.json +6 -0
  197. package/utils/fronteggLogger/constants.d.ts +13 -0
  198. package/utils/fronteggLogger/constants.js +28 -0
  199. package/utils/fronteggLogger/constants.js.map +1 -0
  200. package/utils/fronteggLogger/index.d.ts +17 -0
  201. package/utils/fronteggLogger/index.js +67 -0
  202. package/utils/fronteggLogger/index.js.map +1 -0
  203. package/utils/fronteggLogger/package.json +6 -0
  204. package/utils/initializeFronteggApp/index.d.ts +11 -0
  205. package/utils/initializeFronteggApp/index.js +108 -0
  206. package/utils/initializeFronteggApp/index.js.map +1 -0
  207. package/utils/initializeFronteggApp/package.json +6 -0
  208. package/utils/jwt/index.d.ts +22 -0
  209. package/utils/jwt/index.js +61 -0
  210. package/utils/jwt/index.js.map +1 -0
  211. package/utils/jwt/package.json +6 -0
  212. package/utils/refreshAccessToken/helpers.d.ts +16 -0
  213. package/utils/refreshAccessToken/helpers.js +80 -0
  214. package/utils/refreshAccessToken/helpers.js.map +1 -0
  215. package/utils/refreshAccessToken/index.d.ts +9 -0
  216. package/utils/refreshAccessToken/index.js +94 -0
  217. package/utils/refreshAccessToken/index.js.map +1 -0
  218. package/utils/refreshAccessToken/package.json +6 -0
  219. package/utils/routing/index.d.ts +5 -0
  220. package/utils/routing/index.js +31 -0
  221. package/utils/routing/index.js.map +1 -0
  222. package/utils/routing/package.json +6 -0
  223. package/utils/useOnRedirectTo/index.d.ts +5 -0
  224. package/utils/useOnRedirectTo/index.js +28 -0
  225. package/utils/useOnRedirectTo/index.js.map +1 -0
  226. package/utils/useOnRedirectTo/package.json +6 -0
  227. package/FronteggConfig.d.ts +0 -31
  228. package/FronteggProvider.d.ts +0 -12
  229. package/FronteggProviderNoSSR.d.ts +0 -6
  230. package/api.d.ts +0 -3
  231. package/consts.d.ts +0 -5
  232. package/helpers.d.ts +0 -25
  233. package/index.cjs.js +0 -2747
  234. package/index.esm.js +0 -2691
  235. package/session.d.ts +0 -14
  236. package/types.d.ts +0 -53
  237. package/withFronteggApp.d.ts +0 -11
package/CHANGELOG.md ADDED
@@ -0,0 +1,513 @@
1
+ # Change Log
2
+
3
+ ## [7.0.1](https://github.com/frontegg/frontegg-nextjs/compare/v7.0.0...v7.0.1) (2023-3-23)
4
+
5
+
6
+
7
+ ## [7.0.0](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.20...v7.0.0) (2023-3-16)
8
+
9
+ ### Summary
10
+
11
+ In this release, we've introduced several breaking changes that might impact your existing code.
12
+ Please review the changes outlined below and update your code accordingly to ensure compatibility with the new version.
13
+
14
+ ### Changes
15
+ - **Folder Hierarchy:** Separate files per runtime environment ( pages / edge / appDirectory)
16
+ - `@frontegg/nextjs/pages` for **pages** architecture.
17
+ - `@frontegg/nextjs/app` for **appDirectory** architecture.
18
+ - `@frontegg/nextjs/edge` for **edge** runtime.
19
+ - `@frontegg/nextjs/middleware` for **api middleware**.
20
+ - **Tree-Shaking:** Build package using babel.js with fully tree-shakable dist folder
21
+ - **Logger:** Add ability for print info logs for debugging.
22
+ - **Improved Error handling:** Improve api middleware error handing.
23
+ - **Node.js 18 Support:** Support the new Undici network handler.
24
+ - **Next.js 13.2 Support:** Next.js route handlers.
25
+ - **Tests:** Add e2e tests for the `FronteggApiMiddleware`.
26
+
27
+
28
+ ## Migrate from v6 to v7
29
+
30
+ - [Migrate api middleware (tree-shakable, externalResolver, responseLimit)](#frontegg-api-middleware-migration).
31
+ - [Edge middleware Migration (tree-shakable, stability)](#edge-middleware-migration)
32
+ - [Pages architecture (tree-shakable, share logic code between architectures)](#pages-architecture-migration)
33
+ - [AppDir architecture (tree-shakable, stability, support 13.2 routing)](#app-directory-architecture-migration)
34
+
35
+
36
+ ### Frontegg API middleware migration
37
+ If you are using FronteggProviderNoSSR you can skip this migration:
38
+ 1. Rename imports to `@frontegg/nextjs/middleware`
39
+ 2. export Next.JS config to mark as externalResolver and disable response limit.
40
+
41
+ **API Middleware (before):**
42
+ ```tsx
43
+ export { fronteggMiddleware as default } from '@frontegg/nextjs';
44
+ ```
45
+ **API Middleware (after):**
46
+ ```tsx
47
+ import { FronteggApiMiddleware } from '@frontegg/nextjs/middleware';
48
+
49
+ export default FronteggApiMiddleware;
50
+ export const config = {
51
+ api: {
52
+ externalResolver: true,
53
+ // https://nextjs.org/docs/messages/api-routes-response-size-limit
54
+ responseLimit: false,
55
+ },
56
+ };
57
+ ```
58
+ ### Edge middleware migration
59
+
60
+ If you are using nextjs **edge** middleware, (Ex: `middleware.ts`):
61
+ 1. Rename the imports to `@frontegg/nextjs/edge`.
62
+ 2. Rename `getSession` to `getSessionOnEdge`.
63
+ 3. Use `redirectToLogin` method instead of building login url.
64
+
65
+ **API Middleware (before):**
66
+ ```tsx
67
+ import { NextResponse } from 'next/server';
68
+ import type { NextRequest } from 'next/server';
69
+ import { getSession, shouldByPassMiddleware } from '@frontegg/nextjs/edge';
70
+
71
+ export const middleware = async (request: NextRequest) => {
72
+ const pathname = request.nextUrl.pathname;
73
+
74
+ if (shouldByPassMiddleware(pathname /*, options: optional bypass configuration */)) {
75
+ return NextResponse.next();
76
+ }
77
+
78
+ const session = await getSession(request);
79
+ if (!session) {
80
+ // redirect unauthenticated user to /account/login page
81
+ const loginUrl = `/account/login?redirectUrl=${encodeURIComponent(pathname)}`;
82
+ return NextResponse.redirect(new URL(loginUrl, process.env['FRONTEGG_APP_URL']));
83
+ }
84
+ return NextResponse.next();
85
+ };
86
+
87
+ export const config = {
88
+ matcher: '/(.*)',
89
+ };
90
+ ```
91
+ **API Middleware (after):**
92
+ ```tsx
93
+ import { NextResponse } from 'next/server';
94
+ import type { NextRequest } from 'next/server';
95
+ import { getSessionOnEdge, shouldByPassMiddleware, redirectToLogin } from '@frontegg/nextjs/edge';
96
+
97
+ export const middleware = async (request: NextRequest) => {
98
+ const pathname = request.nextUrl.pathname;
99
+
100
+ if (shouldByPassMiddleware(pathname)) {
101
+ return NextResponse.next();
102
+ }
103
+
104
+ const session = await getSessionOnEdge(request);
105
+ if (!session) {
106
+ return redirectToLogin(pathname);
107
+ }
108
+ return NextResponse.next();
109
+ };
110
+
111
+ export const config = {
112
+ matcher: '/(.*)',
113
+ };
114
+ ```
115
+
116
+ ### Pages architecture migration
117
+ 1. Rename imports from `@frontegg/nextjs` to `@frontegg/nextjs/pages`.
118
+
119
+ **Example (before):**
120
+ ```tsx
121
+ import { withFronteggApp } from '@frontegg/nextjs';
122
+ ```
123
+
124
+ **Example (after):**
125
+ ```tsx
126
+ import { withFronteggApp } from '@frontegg/nextjs/pages';
127
+ ```
128
+ 2. Import and then export `FronteggRouter` in your `pages/[...frontegg-router].tsx` file:
129
+
130
+ **FronteggRouter (before):**
131
+ ```tsx
132
+ export {
133
+ FronteggRouter as default,
134
+ FronteggRouterProps as getServerSideProps,
135
+ } from '@frontegg/nextjs';
136
+ ```
137
+ **FronteggRouter (after):**
138
+ ```tsx
139
+ import { FronteggRouter, FronteggRouterProps } from '@frontegg/nextjs/pages';
140
+
141
+ export const getServerSideProps = FronteggRouterProps;
142
+ export default FronteggRouter;
143
+ ```
144
+
145
+ 3. import getServerSideProps helpers from `@frontegg/nextjs/pages`:
146
+
147
+ **Example Page (before):**
148
+ ```tsx
149
+ import { GetServerSideProps } from 'next';
150
+ import { getSession, withSSRSession } from '@frontegg/nextjs';
151
+
152
+ export default function ExamplePage({ ssrSession }) {
153
+ return <div> My Example Page </div>;
154
+ }
155
+
156
+ export const getServerSideProps: GetServerSideProps = async (context) => {
157
+ const session = await getSession(context.req);
158
+ if (session) {
159
+ // logged user
160
+ return { props: { } };
161
+ }
162
+ // unauthorized user
163
+ return { props: { } };
164
+ };
165
+ ```
166
+ **Example Page (before):**
167
+ ```tsx
168
+ import { GetServerSideProps } from 'next';
169
+ import { getSession, withSSRSession } from '@frontegg/nextjs/pages';
170
+
171
+ export default function ExamplePage({ ssrSession }) {
172
+ return <div> My Example Page </div>;
173
+ }
174
+
175
+ export const getServerSideProps: GetServerSideProps = async (context) => {
176
+ const session = await getSession(context.req);
177
+
178
+ // ...
179
+ };
180
+ ```
181
+ ### App Directory architecture migration
182
+
183
+ 1. Rename imports from `@frontegg/nextjs/server` to `@frontegg/nextjs/app`.
184
+ 2. Move `FronteggAppProvider` to inside RootLayout's `<body>`:
185
+
186
+ **RootLayout file (before):**
187
+ ```tsx
188
+ import { FronteggAppProvider } from '@frontegg/nextjs/server';
189
+
190
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
191
+ const authOptions = {
192
+ // keepSessionAlive: true // Uncomment this in order to maintain the session alive
193
+ }
194
+ return (
195
+ <FronteggAppProvider authOptions={authOptions} hostedLoginBox={true}>
196
+ <html>
197
+ <head></head>
198
+ <body>
199
+ {children}
200
+ </body>
201
+ </html>
202
+ </FronteggAppProvider>
203
+ );
204
+ }
205
+ ```
206
+ **RootLayout file (after):**
207
+ ```tsx
208
+ import { FronteggAppProvider } from '@frontegg/nextjs/app';
209
+
210
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
211
+ const authOptions = {
212
+ // keepSessionAlive: true // Uncomment this in order to maintain the session alive
213
+ }
214
+ return (
215
+ <html>
216
+ <head></head>
217
+ <body>
218
+ {/* @ts-expect-error Server Component for more details visit: https://github.com/vercel/next.js/issues/42292 */}
219
+ <FronteggAppProvider authOptions={authOptions} hostedLoginBox={true}>
220
+ {children}
221
+ </FronteggAppProvider>
222
+ </body>
223
+ </html>
224
+ );
225
+ }
226
+ ```
227
+ 3. Export FronteggAppRouter from `@frontegg/nextjs/app`, `app/[...frontegg-router]/page.tsx` file:
228
+
229
+ **FronteggAppRouter (before):**
230
+ ```tsx
231
+ export { FronteggAppRouter as default } from '@frontegg/nextjs/client';
232
+ ```
233
+ **FronteggAppRouter (after):**
234
+ ```tsx
235
+ import { FronteggAppRouter } from '@frontegg/nextjs/app';
236
+
237
+ export default FronteggAppRouter;
238
+ ```
239
+
240
+ 4. Rename `getSession` and `getUserTokens` to `getAppUserSession` and `getAppUserTokens`:
241
+
242
+ **ServerComponent Example (before):**
243
+ ```tsx
244
+ import { getSession, getUserTokens } from '@frontegg/nextjs/app';
245
+
246
+ export const ServerSession = async () => {
247
+ const userSession = await getSession();
248
+ const tokens = await getUserTokens();
249
+ return (
250
+ <div>
251
+ <div>user session server side: {JSON.stringify(userSession)}</div>;
252
+ <div>user tokens server side: {JSON.stringify(tokens)}</div>
253
+ </div>
254
+ );
255
+ };
256
+ ```
257
+
258
+ **ServerComponent Example (after):**
259
+ ```tsx
260
+ import { getAppUserSession, getAppUserTokens } from '@frontegg/nextjs/app';
261
+
262
+ export const ServerSession = async () => {
263
+ const userSession = await getAppUserSession();
264
+ const tokens = await getAppUserTokens();
265
+ return (
266
+ <div>
267
+ <div>user session server side: {JSON.stringify(userSession)}</div>;
268
+ <div>user tokens server side: {JSON.stringify(tokens)}</div>
269
+ </div>
270
+ );
271
+ };
272
+ ```
273
+
274
+ ## Further Information
275
+ If you encounter any issues or have questions, please report them on our [Issues](https://github.com/frontegg/frontegg-nextjs/issues) page.
276
+
277
+ ## [6.7.20](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.19...v6.7.20) (2023-3-16)
278
+
279
+ - Fixed use permission regex issue to accept a wild card
280
+ - User groups design fixes
281
+ - Fixed passkeys loading mode and login flow with MFA
282
+ - Update dependencies between passkeys and MFA on the privacy page
283
+ - Added support to reset Idle session timeout by post messages from the client iFrame
284
+ - Added an option to enforce redirect URLs to the same site only to avoid security issues
285
+ - Added support for customized social login providers
286
+
287
+
288
+ ## [6.7.19](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.18...v6.7.19) (2023-3-10)
289
+
290
+ - Fixed resend OTC with reCaptcha
291
+ - Added support to let tenants create a manage user groups in the admin portal under a FF
292
+ - Added support to login with passkeys and manage passkeys in the admin portal under a FF
293
+ - Fixed invite users issue when the vendor is not forcing roles and permissions
294
+ - Support auth strategy and social logins for login per tenants
295
+ - Refactored feature flag mechanism to be based on rest-api package
296
+ - Fixed validation for postcode in admin portal forms
297
+ - Fixed SMS code input to have input type number
298
+ - Improved auth screens form UX
299
+
300
+
301
+ ## [6.7.18](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.17...v6.7.18) (2023-2-21)
302
+
303
+ - Fixed Admin portal SSO provider's options to be correlated with the vendor choice
304
+ - Fixed background for table pivot column
305
+ - Fixed impersonation by removing unnecessary redirects and adding a refresh call
306
+ - Fixed style reorder bug when using @emotion/react and Frontegg Next.JS
307
+
308
+ ## [6.7.17](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.16...v6.7.17) (2023-2-8)
309
+
310
+ - Updated M2M tokens to reflect the vendor choice
311
+
312
+ ## [6.7.16](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.15...v6.7.16) (2023-2-7)
313
+
314
+ - Fixed go-to-sign-up message position in speedy login layout
315
+ - Added an input component to the library for adding members to a tenant
316
+ - Fix filtering SSO providers according to the vendor selection
317
+ - Added user groups card header component to the library
318
+ - Improved the admin portal and login box performance and bundle size
319
+
320
+ ## [6.7.15](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.14...v6.7.15) (2023-2-6)
321
+
322
+
323
+ ### NextJS Wrapper 6.7.15:
324
+ - FR-10557 - Fix logout bug, Fix errors in embedded
325
+ - FR-10557 - Improve NextJS navigation
326
+ - FR-10557 - update middleware example code, add option to check if should bypass middleware
327
+ - FR-10557 - Fix url for hosted login refresh token
328
+ - FR-10557 - Fix jose import JWK key
329
+ - FR-10557 - Fix social login embedded mode
330
+ - FR-10557 - Add playwright tests for FornteggMiddleware
331
+ - Bump http-cache-semantics from 4.1.0 to 4.1.1
332
+ - FR-10557 - Add playwright for testing + Fix cookie parsing
333
+
334
+ ## [6.7.14](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.13...v6.7.14) (2023-2-1)
335
+
336
+
337
+ ### NextJS Wrapper 6.7.14:
338
+ - FR-10557 - Create proxy single request handler instead of handler per request
339
+
340
+ ## [6.7.13](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.12...v6.7.13) (2023-1-31)
341
+
342
+
343
+ ### NextJS Wrapper 6.7.13:
344
+ - FR-10557 - Bypass session creation if bodyStr is empty
345
+
346
+ ## [6.7.12](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.11...v6.7.12) (2023-1-31)
347
+
348
+ - FR-10549 - fix error login with sms
349
+ - FR-10437 - select color
350
+ - FR-10518 - fix client id not show in model
351
+ -
352
+
353
+ - FR-10485 - Update restapi version
354
+ - FR-10017 - add email type to all email inputs
355
+ - FR-10501 - Fix mobile width of login box
356
+ - FR-10196 - Fix scroll in privacy page
357
+ - FR-10489 - update scim ui
358
+ - FR-10483 - Added the option to customize forget password button
359
+ - FR-10374 - improve values ui in split mode
360
+ - FR-10184 - add access tokens
361
+ - FR-9995 - Accept Invitation text and icon change
362
+
363
+ ### NextJS Wrapper 6.7.12:
364
+ - FR-10597 - Set default tenants state if not logged in
365
+ - FR-10584 - Set searchParam as optional in FronteggAppRouter
366
+ - FR-10557 - Improve FronteggMiddleware request handler
367
+
368
+ ## [6.7.11](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.10...v6.7.11) (2023-1-30)
369
+
370
+ - FR-10549 - fix error login with sms
371
+ - FR-10437 - select color
372
+ - FR-10518 - fix client id not show in model
373
+ -
374
+
375
+ - FR-10485 - Update restapi version
376
+ - FR-10017 - add email type to all email inputs
377
+ - FR-10501 - Fix mobile width of login box
378
+ - FR-10196 - Fix scroll in privacy page
379
+ - FR-10489 - update scim ui
380
+ - FR-10483 - Added the option to customize forget password button
381
+ - FR-10374 - improve values ui in split mode
382
+ - FR-10184 - add access tokens
383
+ - FR-9995 - Accept Invitation text and icon change
384
+ - FR-10261 - fix sign up position in dark theme
385
+ - FR-10369 - change mfa ff name
386
+ - FR-10330 - fixes for bulk
387
+ - FR-9816 - Fix branch selection
388
+ -
389
+
390
+ - FR-10112 - update admin box pipeline angular
391
+ - FR-10141 - update rest-api
392
+
393
+ - FR-9816 - fix version
394
+
395
+ ### NextJS Wrapper 6.7.11:
396
+ - FR-10584 - Set searchParam as optional in FronteggAppRouter
397
+ - FR-10557 - Improve FronteggMiddleware request handler
398
+ - update frontegg manually
399
+ - FR-10379 - disable refresh token by default for ssr
400
+ - FR-10141 - Added support for logout on hosted login
401
+ - FR-10342 - update readme for app directory
402
+ - Bump json5 from 1.0.1 to 1.0.2
403
+ - Update Frontegg AdminPortal to 6.58.0
404
+
405
+ ## [6.7.10](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.9...v6.7.10) (2023-1-16)
406
+
407
+ - Added support for built-in authenticators, security keys, and SMS as MFA methods
408
+ - Fixed sign up position in dark theme
409
+ - Added margin to login error
410
+ - Disabled silent refresh token for SSR
411
+ - Added support for logout on hosted login
412
+ - Fixed session without keepSessionAlive
413
+
414
+
415
+ ## [6.7.9](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.8...v6.7.9) (2022-12-20)
416
+
417
+ - Added support for next 13 - app directory and server components
418
+ - Added support for tree shaking
419
+ - Added support for getSession on edge run time
420
+ - Update iron-session to decrease bundle size
421
+
422
+
423
+ ## [6.7.8](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.7...v6.7.8) (2022-12-20)
424
+
425
+ - Fixed mfa input on mobile
426
+ - Enabled scim without roles
427
+ - Fixed menu component for dark theme
428
+ - Added api navigation icon
429
+ - Added tests for mfa
430
+ - Added apple social login types
431
+ - Added support for Hiding Invoices
432
+
433
+
434
+ ## [6.7.7](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.6...v6.7.7) (2022-12-13)
435
+
436
+ - Fixed MFA flow issues
437
+ - Added support for subscriptions billing collection
438
+ - Fixed the issue of the OTC screen submit button is disabled on mobile devices
439
+ - Added SCIM section in admin portal under FF
440
+
441
+ ## [6.7.6](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.5...v6.7.6) (2022-12-12)
442
+ # v6.7.6
443
+ • Fixed ignoring urlPrefix issue
444
+ • Added the ability to Invite a user by bulk API in the admin portal
445
+ • Fixed OTC digits are not visible on mobile devices
446
+ • Added MFA devices management section in the admin portal under FF
447
+ • Fixed the ability to copy invite link for dynamic base URL as well
448
+ • Added new abilities to MFA flows under FF
449
+ • Added support for providing an external CDN to load fonts in Frontegg components
450
+ • Update hide fields API according to new security tabs naming
451
+ • Changed max length for secret fields to 100 characters
452
+ • Added support for customizing invite user dialog fields
453
+ • Fixed creating custom webhook on the Admin Portal is sent with the event ID and not with the event Key
454
+
455
+ ### NextJS Wrapper 6.7.6:
456
+ - Improved SSR support for `withFronteggApp` function
457
+
458
+ ## [6.7.5](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.4...v6.7.5) (2022-11-28)
459
+
460
+ # v6.7.5
461
+ - Update hide fields API according to new security tabs naming
462
+ - Changed max length for secret fields to 100 characters
463
+ - Added support for customizing invite user dialog fields
464
+ - Added support for admin portal pre-defined theme options (dark, vivid, modern, and classic themes)
465
+ - Added support for customizing admin portal navigation hover color
466
+ - Fixed typo of Andorra country in countries dropdown
467
+ - Fixed select popup alignment issue
468
+ - Changed no local authentication feature to also hide the sign-up form when there is no local authentication option (use only social logins and SSO for signing up)
469
+ - Added mock for feature flags API for admin portal preview mode
470
+ - Fixed resend invitation and activate your account API calls
471
+ - Fixed creating custom webhook on the Admin Portal is sent with the event ID and not with the event Key
472
+ - Added support for customizing fields and tabs in the admin portal
473
+
474
+ ### NextJS Wrapper 6.7.5:
475
+ - Updated next readme to include hosted login box integration
476
+
477
+ ## [6.7.4](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.3...v6.7.4) (2022-11-15)
478
+
479
+ - Fixed redirect to the app after signing up without forced email verification
480
+ - Fixed admin portal dark theme
481
+ - Added the ability to customize fields and tabs in the admin portal
482
+ - Fixed cleaning up error messages on sign up page when re-visiting the page
483
+ - Fixed resizing the login box when the logo is null
484
+ - Fix the ReCaptcha timeout issue
485
+
486
+ ## [6.7.3](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.2...v6.7.3) (2022-11-11)
487
+
488
+ - FR-9186 - support ssr with session and refresh token
489
+ - FR-9614 - Add support for innerThemeProvider for admin portal pages and tabs
490
+
491
+ - FR-9186 - fix pipeline
492
+ ### AdminPortal 6.36.0:
493
+ -
494
+
495
+ ### AdminPortal 6.35.0:
496
+ -
497
+ ### AdminPortal 6.34.0:
498
+ -
499
+
500
+ ### NextJS Wrapper 6.7.3:
501
+ - FR-9544 - remove console logs
502
+ - FR-9544 - Add support for keep session a live
503
+ - FR-9187 - split cookie if exceeds length of 4096
504
+
505
+ ## [6.7.2](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.1...v6.7.2) (2022-10-26)
506
+
507
+ ### AdminPortal 6.34.0:
508
+ -
509
+
510
+ ### NextJS Wrapper 6.7.2:
511
+ - FR-9186 - Fix Changelog
512
+ - FR-9186 - Generate changelog for pre-release / releases based on AdminPortal and LoginBox changes
513
+