Suport de The Movie Database

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);
      }
    }
  };

No trobeu una pel·lícula o una sèrie? Inicieu la sessió per a crear-la.

Global

s centra la barra de cerca
p obre el menú del perfil
esc tanca una finestra oberta
? obre la finestra de dreceres de teclat

A les pàgines de materials

b torna enrere (o la superior quan sigui aplicable)
e ves a la pàgina d’edició

A les pàgines de temporades

(fletxa dreta) ves a la temporada següent
(fletxa esquerra) ves a la temporada anterior

A les pàgines d'episodis

(fletxa dreta) ves a l'episodi següent
(fletxa esquerra) ves a l'episodi anterior

A totes les pàgines d'imatges

a obre la finestra d'afegir imatges

A totes les pàgines d'edició

t obre el selector de traducció
ctrl+ s envia el formulari

A les pàgines de debat

n crea un debat nou
w canvia l'estat de visualització
p canvia públic/privat
c tanca o obre
a obre activitat
r resposta al debat
l ves a la darrera resposta
ctrl+ enter envieu el vostre missatge
(fletxa dreta) pàgina següent
(fletxa esquerra) pàgina anterior

Configuracions

Desitgeu valorar o afegir aquest element a una llista?

Inicieu la sessió