The Movie Database Support Forum

Hi everyone, i following the guide to create authentication in my React Native APP (using Expo), but I don't understand what I'm doing wrong. If anyone can help me.

I'm making the request for authentication/token/new if the token is generated I do the redirect using the expo's WebBrowser, in the comments I put the return in each of the calls as well as the error.

const getRequestToken = async () => {
    const { data } = await api.get('authentication/token/new', {
      headers: {
        accept: 'application/json',
        Authorization: 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJlNmI4Yjc3MWUyNsdfsdfsdfsdfsdfsdfsdfsdYTg5MDA2ZWJhYzNmZSIsInNjbdfgdfgdfgdfgdfgdfgXJzaW9uIjoxfQ.WtNMVZOq59OqBsdfdflQd_nb4D8M8'
      }
    });
    return data.request_token;
  };

  const validateLogin = async (data: SignInSchemaModal, requestToken: string) => {
    const response = await api.post(`/session/new`, {
      headers: {
        Authorization: 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJlNmI4Yjc3MWUyNsdfsdfsdfsdfsdfsdfsdfsdYTg5MDA2ZWJhYzNmZSIsInNjbdfgdfgdfgdfgdfgdfgXJzaW9uIjoxfQ.WtNMVZOq59OqBGEsdfdflQd_nb4D8M8'
      },
      data: {
        request_token: requestToken
      }
    });

  };

  const handleSignIn = async (data: SignInSchemaModal) => {
    try {
      const requestToken = await getRequestToken();

// return: {"expires_at": "2024-03-07 00:21:17 UTC", "request_token": "801a42324dfssdf3a8csdasdasdd0c119f4", "success": true}

      const url = `https://www.themoviedb.org/authenticate/${requestToken}?redirect_to=${Linking.createURL("/sign-in")}`
      let result = await WebBrowser.openAuthSessionAsync(url, Linking.createURL("/sign-in"), {})

// return: {"type": "success", "url": "exp://191.144.123.32:8081/--/sign-in?request_token=801a4a444dfssdf3a8csdasdasdd0c119f4&approved=true"}

      if (result.type === "success") {
        await validateLogin(data, requestToken);
      }
    } catch (error) {
      if (error instanceof AxiosError) {
        console.log("Erro : ", error.response?.data);
        // Error:  {"status_code": 7, "status_message": "Invalid API key: You must be granted a valid key.", "success": false}
      } else {
        console.log("Erro desconhecido: ", error);
      }
    }
  };

Es fehlt ein Film oder eine Serie? Logge dich ein zum Ergänzen.

Allgemein

s Fokus auf Suchfeld
p Profil öffnen
esc Fenster schließen
? Tastenkürzel anzeigen

Videos

b Zurück
e Bearbeiten

Staffeln

Nächste Staffel
Vorherige Staffel

Episoden

Nächste Episode
Vorherige Episode

Bilder

a Poster oder Hintergrundbild hinzufügen

Editieren

t Sprachauswahl öffnen
ctrl+ s Speichern

Diskussionen

n Neue Diskussion erstellen
w Beobachten an / aus
p Diskussion öffentlich / privat
c Diskussion öffnen / schließen
a Diskussionsverlauf anzeigen
r Auf Diskussion antworten
l Letzte Antwort anzeigen
ctrl+ enter Senden
Nächste Seite
Vorherige Seite

Einstellungen

Diesen Eintrag bewerten oder zu einer Liste hinzufügen?

Anmelden