lobe-chat

Форк
0
/
AuthErrorPage.tsx 
38 строк · 1.3 Кб
1
import { signIn } from 'next-auth/react';
2
import { useSearchParams } from 'next/navigation';
3
import { memo } from 'react';
4

5
import ErrorCapture from '@/components/Error';
6

7
enum ErrorEnum {
8
  AccessDenied = 'AccessDenied',
9
  Configuration = 'Configuration',
10
  Default = 'Default',
11
  Verification = 'Verification',
12
}
13

14
const errorMap = {
15
  [ErrorEnum.Configuration]:
16
    'Wrong configuration, make sure you have the correct environment variables set. Visit https://lobehub.com/docs/self-hosting/advanced/authentication for more details.',
17
  [ErrorEnum.AccessDenied]:
18
    'Access was denied. Visit https://authjs.dev/reference/core/errors#accessdenied for more details. ',
19
  [ErrorEnum.Verification]:
20
    'Verification error, visit https://authjs.dev/reference/core/errors#verification for more details.',
21
  [ErrorEnum.Default]:
22
    'There was a problem when trying to authenticate. Visit https://authjs.dev/reference/core/errors for more details.',
23
};
24

25
export default memo(() => {
26
  const search = useSearchParams();
27
  const error = search.get('error') as ErrorEnum;
28
  const props = {
29
    error: {
30
      cause: error,
31
      message: errorMap[error] || 'Unknown error type.',
32
      name: 'NextAuth Error',
33
    },
34
    reset: () => signIn(undefined, { callbackUrl: '/' }),
35
  };
36
  console.log('[NextAuth] Error:', props.error);
37
  return <ErrorCapture {...props} />;
38
});
39

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.