Хостинг Firebase с помощью reactjs не может обрабатывать / перенаправлять стороннюю аутентификацию

Я новичок в веб-хостинге reactjs и Firebase.

Я использую Sketchfab OAuth2 для своего Интернета. Итак, мне нужно предоставить ссылку перенаправления на Sketchfab, например https://projectname.firebaseapp.com/redirect

Однако я использую react-router, и независимо от того, на какие страницы я перенаправлялся, в URL-адресе есть '#', например https://projectname.firebaseapp.com/#/login и https://projectname.firebaseapp.com/#/redirect. Из-за этого я не могу получить токен OAuth из Sketchfab, потому что мой URL-адрес и URL-адрес перенаправления не совпадают.

Я попросил использовать https://projectname.firebaseapp.com/#/redirect в качестве URL перенаправления. Однако Sketchfab не поддерживает использование символа # в URL-адресе перенаправления.

Возможное решение этой проблемы:

  1. Найдите способ удалить "#" из моего URL
  2. Используйте firebase.json, чтобы переписать назначение всего **/redirect/** источника в https://projectname.firebaseapp.com/#/redirect

Для варианта 2 я не знаю, как это сделать в reactjs, поскольку я знаю только, как переписать место назначения в html-файл, например /index.html

Это тема, которую я использую для своего Интернета: https://startreact.com/themes/ani-theme/


person ykn121    schedule 07.01.2018    source источник


Ответы (1)


Похоже, вы могли использовать HashRouter вместо Browser Router. Использование HashRouter управляет URI после хеш-ключа, что может быть полезно, если ваш статический сервер не поддерживает одностраничные приложения (например, Github Pages). Я почти уверен, что вы можете использовать Browser Router в Firebase, поэтому в вашем компоненте Router вы должны импортировать правильный Router: import {BrowserRouter as Router, Route} from 'react-router-dom'.

person Jan Cziżikow    schedule 07.01.2018
comment
Спасибо. В настоящее время я использую эту тему startangular.com/product/ani-theme. Можете ли вы научить меня, как изменить его, чтобы использовать BrowserRouter? - person ykn121; 08.01.2018