expo-auth-session - 返回应用程序时的两个应用程序选项

2023-12-12

SDK版本:43.0.0

平台(Android/iOS/网络​​/所有):Android

您好,我在托管工作流程中使用 expo-auth-session 通过其官方 API 收集 Instagram 用户数据,它在开发环境中运行良好(通过“expo run:android”命令),但是一旦构建 APK当用户进行授权过程并且重定向开始时创建,有一个弹出窗口询问“打开方式”和我的应用程序的两个选项,第一个运行完美,第二个返回到应用程序但什么也不做,我没有测试在 iOS 上。

这是代表它的图像:点击这里查看

当我开发时,我尝试执行谷歌登录过程,但陷入了同样的错误,通过实现谷歌本机登录部分解决了。我在app.json中验证了我的方案,但没有发现错误,如下:

应用程序.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,
        });
    }

关于如何解决这个问题有什么建议吗?我相信它与模式相关,但无法确定出了什么问题。


也许你可以尝试删除scheme in the app.json

"scheme": "com.davidtmiranda.secreet",

它会改变appAuthRedirectScheme in the android/app/build.gradle

manifestPlaceholders = [appAuthRedirectScheme: 'com.davidtmiranda.secreet']

它解决了我的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

expo-auth-session - 返回应用程序时的两个应用程序选项 的相关文章

  • 我可以将标头传递给图像源吗?

    我的图像源是安全的 所以理想情况下我想执行以下操作
  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • PKCE 增强授权代码流中保护 code_verifier 的最佳实践

    由于 PKCE 现在是推荐的隐式流程授权方法 因此我正在寻找处理代码验证器的最佳实践以及如何完成此操作的建议 在高层 PKCE 授权流程中包括 产生code verifier在客户端 产生code challenge来自 1 hit aut
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • React Native:相机流的多个预览

    我有一个要在 Android 和 iOS 中开发的 React Native 应用程序 我想在其中获取相机流 进行一些处理 然后多次渲染它 想象一下像 Instagram 这样的应用程序 您可以在其中实时向相机添加滤镜 并在实时预览中显示应
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • React Native - 无法从“index.js”解析模块“@babel/runtime/helpers/interopRequireDefault”

    正如中提到的无法解析模块 babel runtime helpers interopRequireDefault https stackoverflow com questions 52486219 unable to resolve mo
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 无法解析“反应导航”

    当我安装并尝试使用react navigation 从 react navigation 导入 StackNavigator 时 我正在尝试react native并出现以下错误 Error https i stack imgur com
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • Android:膨胀布局时出现 StackOverFlowError 和 InvokingTargetException

    首先 对不起我的英语 我在膨胀布局时有一个问题 我有一个自定义视图 从 LinearLayout 扩展而来 称为按钮帮助 我在名为的布局上使用该视图加载活动 我的以下代码在所有设备和模拟器上都能完美运行 但具有 QVGA 屏幕 例如 Sam

随机推荐

  • 将字符串中读取的输入列表转换为Python中的列表

    我正在阅读一个包含列表的文件 下面是输入文件 1 2 3 4 42 1 1 2 3 5 8 现在 如您所见 有一些列表被读取为字符串字符 我正在尝试将其转换为实际列表 下面是我正在使用的代码 list list sys stdin read
  • 通过 localstack 中的 SES 发送电子邮件,事件目的地带有 sns 主题,不起作用

    当在 localstack 中使用 SES 触发电子邮件时 我试图在队列中接收消息 SES 服务正在使用连接到 SNS 主题的事件目标 SNS主题连接到一个队列 我想在其中接收跳出 点击信息 步骤如下 1 whitelist email s
  • Quartz 2.2 多调度器和@DisallowConcurrentExecution

    请考虑这个例子 示例 Web 应用程序调用scheduler start 在其启动时 调度程序配置为将其作业存储在数据库中 该应用程序被复制到六个网络服务器上 因此 如果我们启动六个 Web 服务器 我们将在单个数据库上拥有六个具有相同名称
  • JavaScript - 比较两个多维数组

    我有两个多维数组 首先是类似的东西 one one three four five five one one one 第二个是这样的 one one nine one one one two two two two two 现在 我想要的是
  • 将现有资源导入 Terraform 状态文件时出错

    我正在尝试重构我的一些模块 这需要我将现有资源移动到不同的状态文件中 通常导入资源是单调但简单的 我不知道如何解释以下内容 路径段的数量不能被2整除 尝试导入任何这些资源时出错 我尝试导入的所有资源都会发生这种情况 我过去已经成功完成过多次
  • IE8 - 如何在内容加载后运行 jquery 代码?

    我遇到一种情况 我加载一个父网页 恰好是 Java JSP 其中包含我正在文档就绪函数内部使用 ajax 异步 加载的内容 期望页面能够快速呈现任何内容 然后运行 jquery 代码页面显示后执行异步工作 它的工作方式与 Firefox 中
  • SQL 多个参数值

    SQL 2005 中有哪些选项可用于将多个值传递给存储过程 伪代码 在 C 代码中 List
  • 相机使用自定义相机预览渲染器不清楚

    我使用以下链接使用自定义渲染器显示相机预览https developer xamarin com guides xamarin forms application fundamentals custom renderer view I wa
  • 如何限制图片上传大小小于2mb?

    我有一个 htmlselect上传图像的选项 div class row smallMargin div class col sm 6 Attach Image div div class col sm 6 div div
  • 如何从hibernate+spring应用程序将csv文件导入mysql?

    我想将 csv 文件导入到 mysql 表中 我进行导入的原因是因为我有很多大文件 这些文件会在短时间内发送到我的服务器 尝试使用 java 逐行添加 但遇到了一堆不同的错误 例如休眠异常或 java 挂起 如果文件是 太大 导入速度非常快
  • ForEach - 打印项目和数值[重复]

    这个问题在这里已经有答案了 如何实现显示每个数组成员以及取决于列表计数的数值的 ForEach 结果 该数值会针对每个项目递增 例子是 1 火鸡 2 火腿 3 梅奥 struct EditorDirections View State pr
  • 4 列 CSS 布局 - 流体

    我正在绕圈子试图解决这个问题 HTML CSS div div class inner box clearfix div div div div
  • 获取点击的图片框数组的索引

    我正在动态创建一些图片框并单击图片框的事件 如下所示 Image myImage Image FromFile image Untitled6 png PictureBox txtTeamNames new PictureBox 5 for
  • 用于下载文档的 Alfresco REST API

    我想使用 Afresco REST API 下载文档 经过一番研究 我发现了这个 REST API alfresco s api node content property store type store id id 但我不知道如何传递参
  • 如何从servlet调用JavaScript函数

    我是网络开发新手 我有一个外部 JavaScript 文件 其中包含一个要显示的函数 包含错误详细信息的提示 我需要将错误消息传递给函数 我已经在servlet中编写了控制器 如何从我的 servlet 调用该 JavaScript 文件的
  • 处理退出状态 popen python

    我试图用 popen 处理状态退出 但它给出了一个错误 代码是 import os try res os popen ping c 4 www google com except IOError print ISPerror popen t
  • 奇怪的单元格地址非连续范围的行为:VBA

    我试图回答这个问题当我在 Excel 中遇到一些奇怪的 VBA 行为时 我写了一个非常简单的子程序来演示这个问题 Sub debugAddresses rng As Range Debug Print Whole range rng Add
  • 从 Android 中的通知开始新活动

    我想从状态栏通知启动一个活动 A 当活动 A 已经在前面时 我想完成该活动并重新启动活动 A 我该怎么做 查看有关创建状态栏通知的文档 这绝对涵盖了使用 Intent 和 PendingIntent 从通知启动和 Activity http
  • 从边列表构建所有哈密顿路径

    我无法找到从相关元组列表构建树路径的方法 我只想要每个节点被访问一次的每个路径的列表 也称为哈密尔顿路径 我不断接近 但错过了一些路径 例如 假设我们有以下连接列表 connections 1 4 1 5 2 5 3 4 4 1 4 3 4
  • expo-auth-session - 返回应用程序时的两个应用程序选项

    SDK版本 43 0 0 平台 Android iOS 网络 所有 Android 您好 我在托管工作流程中使用 expo auth session 通过其官方 API 收集 Instagram 用户数据 它在开发环境中运行良好 通过 ex