Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Unable to login to uport - rinkeby.infura.io - 403 #212

Open
SouravVoG opened this issue Feb 12, 2020 · 10 comments
Open

Unable to login to uport - rinkeby.infura.io - 403 #212

SouravVoG opened this issue Feb 12, 2020 · 10 comments
Assignees
Labels
question Further information is requested

Comments

@SouravVoG
Copy link

Looks like the infura service is down or disconnected. It seems this problem exists from a couple of days.

Response from rinkeby.infura.io - 403:

{"jsonrpc":"2.0","id":1,"error":{"code":-32600,"message":"project ID is required","data":{"reason":"project ID not provided","see":"https://infura.io/dashboard"}}}

@mirceanis
Copy link
Contributor

Where are you seeing this error?
in the app or a library?

@mirceanis mirceanis added the question Further information is requested label Feb 12, 2020
@mirceanis mirceanis self-assigned this Feb 12, 2020
@SouravVoG
Copy link
Author

I am facing the issue when I am scanning the bar code using uport app (in my web application). I have added an image for reference.
Screenshot

@mirceanis
Copy link
Contributor

I'm trying to narrow down this issue, but you have not shared any details about your setup other than the error message, which is not actually coming from the app.

It looks like there may be a problem with the website, or rather with one of the libraries you use on the website.
I'm assuming you are using uport-connect or uport-credentials.

In that case, it would be helpful to know which version of which library you are using.
Also, take a look at this issue in uport-connect: uport-project/uport-connect#294 (comment)

If you find that helpful, please close this issue. If not, share as many details as possible.

@SouravVoG
Copy link
Author

Hi Mircea,

I am using "uport-connect": "^0.7.3". The web application was working fine. I am facing this issue from past couple of days. I had simply used react-uport-box boiler plate codes, simply followed the instructions in the link(https://www.youtube.com/watch?v=h7J-SYUOqeA).

I can see the same issue with Zug Digital Identity project as well(https://stadtzugid.zg.ch).

The temporary fix for issue #294 didn't work as well.

Also, I can't see my app in 'https://appmanager.uport.me/'(my web application was still working irrespective of that). I am now unable to create a new app in the app manager as well.

I am surprised what changed suddenly.

@mirceanis
Copy link
Contributor

Thanks for sharing, that tutorial is very old and I'm not sure how much of it still applies. I'll have to go through it and through the react-uport-box to understand what it's doing.

I suspect the core issue is the fact that infura discontinued their legacy API and the libraries involved were defaulting to that legacy API.
While the more recent identity libraries can be configured to use this new API, the old ones probably do not provide neat interfaces for that.

@SouravVoG
Copy link
Author

I think something like this happened earlier as well. Kindly have a look at this issue.
uport-project/uport-connect#140

If I just change the network to Kovan, keeping everything as it is now, it works.

@Gershon-A
Copy link

Hello All.
I'm starting to face the same issue.
"web3": "0.20.3"
var providers = new ethers.providers.InfuraProvider(''+ configs.infuraProvider +'', configs.infuraAccessToken);
The response show like the connection was established but i still get 403

InfuraProvider {
  _network:
   { name: 'ropsten',
     chainId: 3,
     ensAddress: 'XXXXXXXXXXXXXXXX',
     _defaultProvider: [Function] },
  ready:
   Promise {
     { name: 'ropsten',
       chainId: 3,
       ensAddress: 'XXXXXXXXXXXXXXXX',
       _defaultProvider: [Function] } },
  _lastBlockNumber: -2,
  _balances: {},
  _events: [],
  _pollingInterval: 4000,
  _emitted: { block: -2 },
  _fastQueryDate: 0,

@Gershon-A
Copy link

OK,
in my case following was solved this issue:
change
var providers = new ethers.providers.InfuraProvider(''+ configs.infuraProvider +'', configs.infuraAccessToken);
to
var providers = new ethers.providers.JsonRpcProvider(configs.infuraUrl);
where configs.infuraUrl=https://ropsten.infura.io/v3/xxxxxxxxxxxxxx

@Nayan-Das
Copy link

Nayan-Das commented Apr 1, 2020

I am facing the same issue with Rinkeby when I am trying to create app using uPort app manager. Getting error "Project Id is required".
Could you please check if it works or should I try old system ropsten,
https://drive.google.com/file/d/1d9x0SESKEnnZ1HpV1E7gziTO6qKq9KwO/view?usp=sharing

@mirceanis
Copy link
Contributor

mirceanis commented Apr 1, 2020

Looks like the app manager sample code wasn't updated to reflect the new requirements.

If you only use rinkeby, you can adapt the sample code in step 2 to something like this:

Server app (uport-credentials)

import { Credentials } from 'uport-credentials'

import { Resolver } from 'did-resolver'
import getResolver from 'ethr-did-resolver'
const providerConfig = { rpcUrl: 'https://rinkeby.infura.io/<YOUR INFURA PROJECT ID>' }

const credentials = new Credentials('<application Name>', {
    privateKey: "<private Key>",
    network: "rinkeby",
    resolver: new Resolver(getResolver(providerConfig))
})

If you want to use multiple networks at the same time, you can use the multi-network providerConfig in ethr-did-resolver

Another reference to follow is the uport-credentials config

Client app (uport-connect)

import { Connect } from 'uport-connect'

const uportConnect = new Connect('<application Name>', {
  network: "rinkeby",
  ethrConfig: {
    rpcUrl: 'https://rinkeby.infura.io/v3/<YOUR INFURA PROJECT_ID>'
  }
})

This is actually a workaround since the uport-connect library hasn't been updated to the latest requirements of providing a resolver.
This issue is being tracked in uport-project/uport-connect#294

cc @gbugyis

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants