Failed to fetch information about the app requesting authentication error

When I run my Blockstack app on a local npm server and redirect it to my Android app, I get the following error after clicking “Sign in with Blockstack” button in my Android application:
“Failed to fetch information about the app requesting authentication. Please contact the app maintainer to resolve this issue.”

What does it mean? What can be the problem?

You need to run npm server with SSL support on a hosted domain. This tutorial will help you: https://hackernoon.com/how-to-use-bitcoin-based-blockstack-auth-in-your-ios-apps-a4f157230201

Is there any way to solve this issue locally?

i have this issue,too,if you have already slove this problem ,please teach me

I don’t think localhost would work in this case as app URL is important to authenticate a user against. So, let’s suppose you have an xyz application with xyz.com domain name. When you will authenticate a user against your xyz.com app, a tag gets inserted into the profile.json that user owns. It looks like this:

"apps": {
            "https://xyz.com": "https://gaia.blockstack.org/hub/xxxxxxxxxxxxxx/"
          }

and because you own that URL and control the hosting provider, that I guess is the only way to prove the controlling authority of your app.

Another reason to have it hosted is to see the process of auth. When you click on sign in button, it opens browser.blockstack.org in your browser. Once, you are authenticated, browser.blockstack.org needs to send you back to the app but that particular script does not know your app and you can’t edit it (maybe if you host your own copy of that, I haven’t tried doing that), so the browser.blockstack.org sends you back to your hosted server to redirect and open your app on the phone and that server address should be resolvable over the internet.

If you just want to test the auth, you can use the test URLs given in this iOS example as I haven’t seen the android code yet. Caution would be to know that this is just a test server.

While you are using it, make sure the URL scheme of your app has the entry of myblockstackapp as that is what this server recognizes.

I am also going through the same issue. I depllyed it in netlify then also it is showing the same error

I face the same issue. A have a local angular 6 application, started with ng serve and in the angular.json file I have the certificate info.

“sslCert”: “ssl/server.crt”,
“sslKey”: “ssl/server.key”,

Even if you don’t have a hosted backend, you need to add a manifest.json file on a domain with https://example.com/manifest.json

Yes the manifest.json file was not been served well! It is possible to use it with localhost.

1 Like

Now, do you solve this problem?if you do,please help me beacuse I have same problem thank you

No, I couldn’t solve it. Solutions like ngrok may work, but since I don’t have time to try them, I turn back to the netlify app given in the Android tutorial.

Tried hosting the manifest.json using github pages.

It goes past the page where it requests you to select an ID, but then gets stuck at a 404, because it tries something like https://blockstack-id.github.io/redirect?authResponse=eyJ0eX
Am I missing something?

Depending on the browser, your Android app should catch the view intent. Have you setup the Manifest correctly? Have you put the well-known file correctly?

Github pages does not allow you to put the well-known file in the root folder. Therefore, the Android system does not opens the app immediately.

On Firefox you can click on the Android icon next to the address bar and continue with the auth response…

Is it possible to use an existing app origin like https://flamboyant-darwin-d11c17.netlify.com during development ? seems to work in the react-native app, couldn’t figure out how to use it for the react-webapp

Yes, it is possible and it is a feature of blockstack that the user can choose the app they want to use to access their data. It is in the responsibility of the user to choose a trustworthy app.

You need to use redirectToSignInWithAuthRequest in order to specify the different app domain.

1 Like

I am getting the same error. Mine is a React app. All local. The above thread replies have not worked for me. May I ask if anyone have other ideas? I am new to both Blockstack and React. Appreciate your anticipated replies. Thank you. Cheers!

@dartman100.id.blocks What can you see in the console?

@dartman100.id.blocks I found that using https:// in your manifest file creates a problem with Blockstack’s auth - regardless of a SSL certificate or not. Your manifest file should use http:// url in production for the "start_url": value if you’re deploying to Netlify.

@friedger

So this is my situation: I went through the hello, blockstack tutorial, and when it came time to run npm start and authenticate, (locally) the app opened up by default in Safari. Clicking “Sign in with Blockstack” returned the same error everyone is mentioning here.

I navigated to localhost in google chrome and I was able to sign in with blockstack just fine. Why is that? What would allow for this to work in Google Chrome but not in Safari?

Thank you in advance!

Have a look in the console. You will find more details why it failed. Mostly it is about security settings in the browser. Sometimes it also helps to use 127.0.0.1 instead of localhost…