vippsas / vipps-login-api

Please see: Vipps MobilePay Technical Documentation: https://developer.vippsmobilepay.com
https://developer.vippsmobilepay.com
27 stars 26 forks source link

Får at request blir blocked av CORS-policy #126

Closed mattiastofte closed 2 years ago

mattiastofte commented 2 years ago

Hei.

Jeg sliter fortsatt med å forstå dokumentasjonen helt. Har en "logg inn med vipps" knapp som sender brukeren til portalen hvor man godkjenner personvernsinnstillinger osv. Etter dette er gjort blir brukeren sendt tilbake til vår side med en x-www-form-urlencoded lenke. Da fetcher jeg med router code query parameteren og går videre for å hente token.

Det er her jeg er forvirret fordi det står i dokumentasjonen at man skal sende en http post request med form-data som inneholder grant_type, code, redirect_uri samt authorization med Basic + en Base64 streng som er satt sammen av client_id + ":" + client_secret´:

Min kode:

const credentials = Base64.stringify(
      Utf8.parse(process.env.CLIENT_ID + ':' + process.env.CLIENT_SECRET)
    );

    var data = new FormData();
    data.set('grant_type', 'authorization_code');
    data.set('code', code.toString());
    data.set('redirect_uri', 'http://localhost:3000');

    axios
      .post('https://api.vipps.no/access-management-1.0/access/oauth2/token', {
        data,
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
          Authorization: `Basic ${credentials}`,
        },
      })
      .then((res) => {
        console.log(res.data);
      })

Men dette funker altså ikke for meg. Jeg får melding om at requesten blir blokkert av CORS-policy, men da sliter jeg å forstå hvordan jeg ellers kan gjøre det her?

Hvis man skal videresende brukeren til en ny lenke (tilsvarende den i portalen) så har jeg rett og slett ingen peiling på hvordan denne kan se ut eller formuleres som en x-www-form-urlencoded lenke. Kunne jeg kanskje fått en hjelpende hånd her?:)

NB: Er fortsatt ganske ny på dette feltet, så beklager hvis dette er et spørsmål med et veldig åpenbart svar.

cloveras commented 2 years ago

Hei

Jeg limer inn det samme sv aret jeg sendte på samme henvendelse på e-posten din:


Hei

Vi kan dessverre ikke hjelpe med konkret kode. Postman er fint for å se hvilke API-kall som skal gjøres, og der kan du også se komplett request og respons. API-guiden inneholder mer detaljer.

Hvis du får CORS-feil: https://github.com/vippsas/vipps-ecom-api/blob/master/vipps-ecom-api-faq.md#why-do-i-get-a-cors-error

–- Christian Løverås Vipps Integration

Vipps on GitHub: https://github.com/vippsas/vipps-developers Technical newsletter for developers: https://github.com/vippsas/vipps-developers/tree/master/newsletters