SDK版本:43.0.0
平台(Android/iOS/Web/All):Android
你好,我正在使用托管工作流中的expo-auth-Session通过其官方API收集Instagram用户数据,它在开发环境下运行良好(通过“expo run:Android”命令),但一旦用户进行授权过程和重定向启动时创建了一个构建APK,就会出现一个弹出窗口,询问“打开方式”和我的应用程序的两个选项,第一个运行得很好,第二个返回应用程序,但什么都不起作用,我没有在iOS上测试。
下面是代表它的图像:Click here to see
当我在开发时,我试图执行Google登录过程,但陷入了相同的错误,通过实现Google本地登录部分解决了这一问题。我在app.json中验证了我的方案,但没有在上面发现错误,如下所示:
App.json:
{
"expo": {
"name": "Secreet",
"slug": "secreet",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"scheme": "com.davidtmiranda.secreet",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": ["**/*"],
"ios": {
"supportsTablet": true,
"usesAppleSignIn": true,
"bundleIdentifier": "com.davidtmiranda.secreet",
"googleServicesFile": "./GoogleService-Info.plist",
"config": {
"googleSignIn": {
"reservedClientId": "com.googleusercontent.apps.--------------------"
}
}
},
"android": {
"versionCode": 1,
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#FFFFFF"
},
"package": "com.davidtmiranda.secreet",
"googleServicesFile": "./google-services.json"
},
"web": {
"favicon": "./assets/favicon.png"
}
}
}
另外,我的authSession代码如下所示:
webBrowser.maybeCompleteAuthSession();
const useProxy = Platform.select({ web: false, default: true });
const client_id = ---;
const redirect_uri = "https://auth.expo.io/@davidtmiranda/secreet";
const scope = "user_profile";
const site =
"https://api.instagram.com/oauth/authorize?client_id=" +
client_id +
"&redirect_uri=" +
redirect_uri +
"&scope=" +
scope +
"&response_type=code&state=1";
const discovery = { authorizationEndpoint: site };
const [request, response, promptAsync] = useAuthRequest(
{
redirectUri: makeRedirectUri({
useProxy,
native: redirect_uri,
}),
scopes: [scope],
clientId: String(client_id),
},
discovery
);
useEffect(() => {
if (response?.type === "success") {
...
}
}, [response]);
function GetInstagramID() {
return promptAsync({
useProxy,
});
}
对如何解决这个问题有什么建议吗?我认为这是与架构相关的,但无法确定哪里出了问题。
1条答案
按热度按时间idv4meu81#
也许您可以尝试删除
app.json
中的scheme
并且它将更改
android/app/build.gradle
中的appAuthRedirectScheme
它解决了我的问题。