android Expo托管应用程序中的Google身份验证在生产构建中失败

o7jaxewo  于 2023-04-10  发布在  Android
关注(0)|答案(1)|浏览(124)

要求:从GoogleAuth获取id_token,它与firebase身份验证一起使用。
我用的是47号博览会。
身份验证在iOS上运行正常。但在Android设备上失败。
所用代码:

import * as Google from "expo-auth-session/providers/google";
import * as WebBrowser from "expo-web-browser";

WebBrowser.maybeCompleteAuthSession();

const isDev = process.env.NODE_ENV === 'development';

export default function GoogleAuth() {

  const [request, response, promptAsync] = Google.useIdTokenAuthRequest({
    androidClientId: "",
    iosClientId: "",
    clientId: "",
  });

  useEffect(() => {
    if (!response) return;
    if (response?.params?.id_token) {
      // log in with firebase
    } else {
      console.log(response) // this logs: {"type":"dismiss"} in android APK
    }
  }, [response]);

  if (!request) {
    return null;
  }

  return (
    <Button
      onPress={() => promptAsync({ useProxy: isDev, showInRecents: true })}
      title={"Continue with Google"}
    />
  );
};

我尝试将useAuthRequestresponseType: 'id_token'一起使用,但它说响应类型无效。如何修复此错误?

7kjnsjlb

7kjnsjlb1#

解决了。app.jsonschema不能有任何大写字母。我的packageNameschema的形式是com.myapp.mobileApp。当我将它们更改为com.myapp.mobileapp时,登录工作正常。

相关问题