Firebase authorized domains not allowing my Svelte project? - firebase

I am using Svelte + Firebase for a web app. However, When I try to authorize my Svelte project URL (it is an unchanged URL, default IP address), the firebase console just doesn't let me. On another computer, I never had this issue, and when I import all the same settings from that device to my home one, nothing changes, still can't seem to get it to work.
To be completely honest, I have no idea what could be any kind of relevant code or screenshots, so if you need anything just tell me what to look for and I will include it in the question.
EDIT: here is the screenshot of my authorized domains:

So Basically just remove the port, thank you Rafael Zasas for helping me figure it out.
the default URL looks something like this:
http://198.05.032.0:5000
the port is everything after the ":". Removing it, as well as the colon itself, makes it a valid domain in the authorized domains section in the Firebase Console.

Related

How do I serve a firebase site using the domain from another firebase site?

I have a firebase site with a domain of gs-domain1.web.app.
I have a second firebase site with a domain of gs-domain1.web.app.
Now, I want all traffic to go through the gs-domain1.web.app. However, when the path matches a specific route, like, /users/:id/pages, I want the site on gs-domain2.web.app to take over without switching the domain, but maintaining the path.
I believe a redirect will not work because it physically switches the domain.
I believe a rewrite will not work because I can't recreate the path on the destination.
Both the application on domain1 and domain2 are single-page applications (react and vue respectfully).
In firebase, you could host more than one site in one project and that would solve your problem.
Host/Deploy the react code to firebase and link the site with the URL of gs-domain2.web.app
and
do another hosting in the same project as the react but vue on gs-domain2.web.app
After you have successfully linked the domain and hosted the sites... Link the URL together with or anyone you like.
PROS: Your sites would load separately and would be faster.
Also,
It would be great if you put all the code under one domain
Then you can use different paths for the 2 sites so they would be easily identifiable.
so you have : gs-domain1.web.app/path1 and gs-domain1.web.app/path2
You will find the add another site function at the bottom of the hosting section below 1
I am not sure exactly what you mean by "take over without switching the domain, but maintaining the path". If you mean that you want the user to now see the page on gs-domain1.web.app when at this specific path, but still have gs-domain1.web.app as the domain in the url in their browser, I can only really think of two good ways to do this.
You use an iFrame to display the page from gs-domain2.web.app as the entire contents of the page on gs-domain1.web.app at the specific path. This can potentially introduce weirdness if the second page is complex.
You get rid of the second domain and instead move that codebase over to the first domain and write some middleware that serves from the first codebase whenever the user is requesting a path that should come from gs-domain1.web.app currently and serves from the second codebase whenever a user requests a path that should currently be coming from gs-domain2.web.app. I feel that this would be the more 'correct' approach if this is the desired behavior you want.
Alternatively, if you do not care what domain the user is seeing, I would suggest, as you mentioned, merely setting up some clever redirects to bounce users between the two based on which path they are requesting.
I hope this was helpful and goodluck!

Firebase Crashlytics links from mail, redirect to error-page, due to wrong Chrome user

Setup:
having a firebase project with crashlytics active
receive mails for crashes
try to open the crash from the link within the mail
Example link: https://console.firebase.google.com/project/xxx-8c64/crashlytics/app/android:com.example.project/issues/3fgdfgfdg9e86f653d84df9fdfdfdf3?time=last-seven-days
I have multiple accounts in chrome. One is my private, one is my work account.
My main account is the private one. (/u/0)
Now, once I try to open the link
result: get redirected to wrong user https://console.firebase.google.com/u/0/
expected result: asking which account I want to use to open the link
My current workaround is to stop loading the link in the middle and replacing the u/0 with u/1 and let chrome continue. This will load the link correctly. But it will not always work and is super cumbersome.
Is there anything I can do? Do some of you face the same problem?
(Besides logging in with my work account. No - I don't want to log out from my main and switch forth and back all the time)
Okay I found a way, although I would love to hear a better one.
Using a redirect chrome extension. Redirector
github Link
Chrome Extension Link
RegEx:
From: ^https://console\.firebase\.google\.com/u/./(.*)
to: https://console.firebase.google.com/u/1/$1

Action URL changing based on ActionCode settings when sending passwordless login email

I have 2 frontend interfaces for my firebase project (both housed in the same firebase app in the backend). One is web and one is for iOS.
I'm trying to create passwordless sign-in functionality for the iOS app and have gone through all setup guides regarding setting up dynamic links, custom domains etc.
I have gotten to the point where both the web and iOS apps can both send the email successfully, however the root domain changes between the emails sent from each platform. An example is below:
Web App: Sends login email via firebase.auth().sendSignInLinkToEmail and the resulting root domain in the email is https://app.domainname.com (this is correct and is what is set up as a whitelisted domain/dynamic link domain in firebase)
iOS App: Using the same function, the resulting root domain is https://domainname.com (incorrect). This results in the link going to the non-firebase, generic website and breaking the flow.
If I add the app subdomain back to the link generated by the iOS email, the dynamic link does then work, so the issue seems to be isolated to this root domain change specifically.
Upon further investigation, the issue seems to be related to the action code settings.
When the iOS.bundleId property is set, or handleCodeInApp is true, the incorrect root domain is used. This is true for either the web app or the iOS app.
I have done a project find on domainname.com in both projects (my iOS app is an ejected expo app so the search included Xcode files for this one) and can't find any instance of the subdomain being missing in either codebase (or the backend codebase for that matter) and am therefore at a loss.
I've looked throughout my firebase settings and can't find any instance of the incorrect one appearing, but am unaware of a search functionality on the platform to be certain. The Action URL (%LINK%) setting in Authentication->Templates appears to be the correct URL.
I am hoping to get to the point where irrespective of the action code settings, the same, correct root domain is used. I assume this is a configuration issue but am at a total loss about how to resolve it, so any help would be appreciated.
For reference, the action code settings in use are below:
var actionCodeSettings = {
url: 'https://app.domainname.com',
iOS: {
bundleId: 'com.domainname.app'
},
handleCodeInApp: true
}
Thanks!
In case anyone finds this in the future, it turned out for me that the issue was due to a combination of an undocumented lack of support for custom domains in dynamic links in react-native-firebase, alongside the fact that the library will only send the email links using the first selected domain in your Firebase Dynamic Links settings.
At the time of writing, the solution was to simply delete all other domains from my Dynamic Links settings, leaving only PROJECTNAME.page.link, so that this was the one that got used by the library. From there everything worked as expected.

Page Returns 403 Forbidden but Only From Google Search Link

I run a website http://sciantechnologies.com/.
Now, if you go to that URL, it loads fine, however if you google search "Scian Technologies", it will return a link that looks like this:
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDgQFjAA&url=http%3A%2F%2Fsciantechnologies.com%2F&ei=3AY8UdLvF8Gi2gXxXg&usg=AFQjCNGT916DDNRiBhq31Qu6fz0-_GDOFg&sig2=iHtZm7pPyQGdcyZczOUMRg&bvm=bv.43287494,d.b2I
Which if you click on it, will redirect you to the correct URL, but for some reason it seems to pick up a 403 along the way. Funny thing is it leaves the correct URL in the address bar, and if you click on that and press enter, it works fine.
I didn't set up anything special here - it's just a wordpress site... anyone else had this behavior or have any ideas? I'm really scratching my head over it - it doesn't seem to make any sense!
Google has indexed your base domain (not including www).
You'll want to put a 301 redirect to your www subdomain.
Then wait for Google to reindex your site.
For those of you who use a web provider for hosting and hit this issue, I have managed to fix this. The support team were completely useless. Anyway, I fixed this by deleting my virtual host in the gui panel (which the support team actually advised me against) and recreated it. I never saw their virtual hosts config (they refused to show it to me) but I'm guessing when I installed wp using their magical installer script, it made changes to the virtual host configuration (most likely mod rewrite related) which I had no visibility of. Deleting the virtual domain then wiped this and started cleanly again. Note if you're doing this:
Delete the virtual domain and let it kick in (I.e. take your website down) before recreating it
There is no guarantee that deleting the virtual domain will actually wipe this configuration. It may just unlink it server side.
Hope this helps someone!

IE Security Warning with widgets

I'm creating an ASP.NET application which uses Facebook Connect and fbml tags. It also uses the LinkedIn widget. When I run this app in any browser, there are no warnings and everything works. However, in IE, a message like this comes up:
Security Warning:
The current webpage is trying to open a site in your Trusted sites list. Do you want to allow this?
Current site:http://www.facebook.com
Trusted site:http://localhost
(same for LinkedIn.com). I know how to fix this from a client perspective and to stop the security warning showing up. However, is it possible to ensure this message doesn't come up as it could be off putting for users who don't know how to suppress this warning? I haven't tried uploading it to my webhost, so not sure if this message will appear for everyone in production. However, I always get it on my local machine.
(None of my pages use SSL, so I don't think that's the issue. I tried using FB's HTTPS urls but that didn't make a difference).
Thanks
I have come across the IE message many times. Whilst this might not be the case here I always check in Firebug to see if any requests are going to Https (using Net tab). If may be the case that something you are referencing is itself making a call to something else.
Often you get that message if you are serving an https page and then going to fetch an image over http.
Might not help but is the first thing I do in this situation.

Resources