【问题标题】:Auth0 with react-nativeAuth0 与本机反应
【发布时间】:2022-12-11 02:12:49
【问题描述】:

我正在尝试Example repo。但是执行这个调用时:const { accessToken } = await getCredentials();,accessToken是undefined

我已经创建了 Auth0 应用程序并复制了我的 domainclientId

所以app.json 中的插件看起来像这样:

"plugins": [
      [
          "react-native-auth0",
          {
              "domain": "{MY_DOMAIN}"
          }
      ]
    ],

还有Auth0Provider 长这样的: Auth0Provider domain={config.domain} clientId={config.clientId}

CallbackLogout url 都已设置。这是提供的示例中的图像:

getCredentials在客户端使用Google登录后继续抛出undefined

【问题讨论】:

    标签: react-native auth0


    【解决方案1】:

    你可以在这里找到两种方法。

    1. 使用loader 并等待数据加载。
    2. 使用useEffect() with Promise()或仅使用useEffect()

      App.js

      const { user, getCredentials} = useAuth0();
      const [isLoading, setIsLoading] = useState(false);
      
      const getUserMetadata = async () => {
          setIsLoading(true);
          const tokenData = await getIdTokenClaims();
          if (tokenData) {
            localStorage.setItem(USER_OBJECT_KEY, tokenData['__raw']);
            setIsLoading(false);
          }
        };
      
      useEffect(() => {
          const storedAccessToken = localStorage.getItem(USER_OBJECT_KEY);
          if (!storedAccessToken) {
            getUserMetadata();
          }
        }, [getCredentials, user]);
      
      if (isLoading) {
          return <div>Loading...</div>;
        }
      
      return (
         Your code.....
      )
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-05
      • 2018-09-26
      • 2019-08-13
      • 2023-03-16
      • 2018-03-21
      • 2017-03-05
      • 2021-03-29
      • 2021-12-07
      相关资源
      最近更新 更多