在本机应用程序和网站之间共享凭据

2024-04-02

我正在开发的一个应用程序允许用户登录支持 OAuth 的后端。因此,应用程序仅了解身份验证令牌和用户元数据,而不了解用户的凭据。

在应用程序中,用户可以点击在浏览器中打开链接的链接。这些资源也受到 OAuth 的保护,登录原生应用时获得的 token 也与 Web 相关。

我希望用户的凭据以标准 OAuth 方式从本机应用程序流向 Web 浏览器(通过将其作为Authorization标题)。

Android 似乎通过其共享凭证 https://developers.google.com/identity/smartlock-passwords/android/associate-apps-and-sites功能,但我找不到 iOS 的等效功能。我确实找到了共享网络凭据 https://developer.apple.com/reference/security/shared_web_credentials功能,但这似乎需要了解用户的凭据。

如何将 OAuth 令牌从本机应用程序流向它打开的 Web 浏览器?


关联域和共享 Web 凭据在这里似乎不是一个好方法。

您有两个选择:

  1. 将 OAuth 访问令牌作为 URL 查询字符串参数传递给 网页浏览器。https://x.y.z/?access_token=abc您必须操作嵌入的 URL 并确保您的后端理解这一点。 非常常见且简单的方法。许多网站,例如 Facebook 和 Google 在 URL 中传递访问令牌。
  2. 如果您使用应用内浏览器(UIWebView、WKWebView),您可以拦截 URL 请求并自行添加授权标头。看this https://stackoverflow.com/questions/25539837/how-to-add-customize-http-headers-in-uiwebview-request-my-uiwebview-is-based-on对于 UIWebView 和this https://stackoverflow.com/questions/28984212/how-to-add-httpheader-in-request-globally-for-ios-swift/37474812#answer-37474812对于WKWebView(比UIWebView难一点)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在本机应用程序和网站之间共享凭据 的相关文章

  • 如何将 PhoneGap 调试控制台与 CLI 集成?

    PhoneGap 网站上的此页面http docs phonegap com en 3 3 0 guide cli index md html The 20Command Line 20Interface http docs phonega
  • WebCore::UserGestureIndicator::processingUserGesture 中的 EXC_BAD_ACCESS (SIGSEGV)

    我有一个使用 UIWebView 和 HTML5 websockets 构建的 iOS 应用程序 该应用程序经历了看似随机的崩溃 它发生在用户与其交互时以及在用户和应用程序之间没有发生交互的寿命测试期间 崩溃日志都有以下内容 Excepti
  • 在 Swift 3 中通过 Core Graphics 绘制文本

    背景 我正在使用 Core Graphics 的 UIImageView 上绘图 我想最终在核心图形绘图上绘制一个文本字符串 这个 hackingwithswift com https www hackingwithswift com ex
  • 为什么我的唯一设备 ID 发生了变化?

    我已经使用以下方法大约一个月了 没有任何问题 即使卸载应用程序后 设备 ID 仍保持不变 最近我注意到我的设备 ID 发生了变化 我最近在 Xcode6 上做了很多应用程序的构建 这可能是一个原因吗 我希望我确切地知道它什么时候发生变化 这
  • 查找 iPhone 上已安装应用程序的列表

    是否可以以编程方式查找我的 iOS 设备上安装的所有应用程序的名称 有没有可用的API 谢谢您的帮助 不可以 由于沙盒环境 iOS 应用程序无法访问其他应用程序的信息
  • Siri 意图捐赠快捷方式最终出现错误

    我为 Siri 快捷方式创建了一个简单的意图 每当我尝试捐赠该意图时 都会出现以下错误 互动捐赠失败 Error Domain IntentsErrorDomain Code 1901 无法捐赠互动 意图 用户 标识符 06DE1A38 6
  • 自动布局中的“使用标准值”和“限制边距”是什么意思?

    我已经完成了一些自动布局教程 例如this https developer apple com library ios recipes xcode help IB auto layout chapters pin constraints h
  • UIViewControllerHierarchy不一致

    我正在尝试构建我的应用程序 有一次我推送了 UIViewController 然后收到此错误 我不太清楚为什么 UIViewControllerHierarchyInconsistency 原因 视图只能是 一次最多与一个视图控制器关联 查
  • 使用 arrayWithCapacity 有什么好处

    arrayWithCapacity是一个定义在NSArray h并实施于NSArray m 当我查看代码时GNUStep https raw githubusercontent com gnustep gnustep base master
  • 从两个相交的多边形创建新的 MKPolygon

    我知道确实有一个具体的问题讨论了这一点 但它有点老了 如果可能的话 我想了解更多技术性的知识 首先看一下这个截图 https www dropbox com s f94q3qaxrog0ec9 intersections png https
  • iOS:AVPlayer 视频预加载

    我正在使用 AVPlayer 来播放视频 它们的长度很短 2 5秒 它们以随机顺序播放 问题是 当更改视频并开始播放新视频时 设备会滞后很短的时间 但我不希望更改流畅 有没有办法用 AVPlayer 预加载视频 尝试使用AVQueuePla
  • 导航栏的横向视图问题

    默认导航栏高度为 64 但更改后 其横向导航栏高度的方向更改为 28 我想设置修复所有方向的导航栏大小 您可以添加方向观察者 NotificationCenter default addObserver self selector sele
  • 如何在ios中打开本机文件应用程序?

    如何使用 url 方案或其他方式打开 ios 的本机文件应用程序 我尝试搜索 url 方案但没有运气 这个问题似乎没有答案 苹果论坛上有这个问题的帖子 但仍然没有答案 https forums developer apple com mes
  • 从 NSArray 为 UITableView 创建索引

    我读过创建索引 uitableview 旁边的 a z 的最佳方法是设置一个 nsdictionaries 数组 其中每个字典对应一个部分 并且 rowValue 键包含一个行数组 NSDictionary headerTitle gt A
  • Swift - 集成 GameCenter 以使用排行榜

    我正在用 Swift 制作一个游戏 我希望能够使用 GameCenter 发布用户的分数 以便可以看到所有用户的分数 然而 我花了一天的时间试图弄清楚如何做到这一点 但我没有找到任何有用的说明 我对 iOS 编程和 Swift 还很陌生 关
  • 检查indexPath处的单元格在屏幕UICollectionView上是否可见

    我有一个CollectionView向用户显示图像 我在后台下载这些 下载完成后 我调用以下函数来更新collectionViewCell并显示图像 func handlePhotoDownloadCompletion notificati
  • 在 PHP 中,如何检测由于超出 max_input_vars 而导致输入变量被截断?

    我知道一个E WARNING由 PHP 生成 PHP 警告 未知 输入变量超过 1000 https stackoverflow com q 9673895 367456 但我如何在我的脚本中检测到这一点 一个 足够接近 的方法是检查if
  • 我仍然认为在客户端哈希密码更好。我错了吗?

    我读过这些 https hackernoon com im harvesting credit card numbers and passwords from your site here s how 9a8cb347c5b5 https
  • IOS - 委托与通知

    想听听您对以下架构的看法 在我的应用程序中 我有一个处理异步登录的静态类 LoginManager 登录阶段完成后 应用程序应该做出响应并转换到另一个状态 我有2条实施建议 使用委托 import Foundation protocol L
  • 与桌面浏览器相比,移动浏览器有多强大? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 蓝鸟承诺解析(数据)在客户端代码中未定义

    希亚斯 我有一个简单的应用程序 客户端期望得到一个承诺作为结果 但是在调用resolve 方法时 承诺不断返回未定义的结果 客户端代码 UsersRepo findOneAsync id id then function err resul
  • 为函数想出好的名字时遇到困难

    因此 我经常难以用简洁的名称描述函数 对于重用的功能来说 这通常不是问题 但通常需要将大型流程分解为子功能 这些通常会得到奇怪的名字 例如connectionsToAccessLines or handleWallVisionSplit或类
  • 在 C 预处理器中,“#”字符是否必须位于行的开头? [复制]

    这个问题在这里已经有答案了 我已经用 C 语言编程有一段时间了 在此期间 我了解到将预处理器指令之前的 字符放在第一列是一种常见的约定 Example include
  • 如何在 Foursquare Venues 搜索 API 中使用 CategoryId

    当包含categoryId参数时 我从API查询中得到了意外的结果 例如 当使用以下参数搜索马萨诸塞州波士顿的 The Citizen Public House 时 ll 42 3489027315987 71 096134185791 q
  • random.expovariate 相当于泊松过程

    我在某处读到 python 库函数 random expovariate 产生相当于泊松过程事件的间隔 真的是这样吗 或者我应该对结果施加一些其他功能 严格阅读你的问题 是的 这就是 random expovariate 所做的 expov
  • 什么是热点?

    我刚刚听说过 HotSpot JVM 而不是 Oracle JRockik JVM 什么是热点 这是旧的 Sun JVM 还是其他什么 HotSpot 是附带的 Sun JVM 它支持频繁使用的代码部分的即时编译 出于所有实际目的 它是 S
  • 如何从消息机器人中删除“Powered by ManyChat”页脚

    我正在为消息平台开发一个聊天机器人 但我发现自己对用户文本输入字段的页脚上出现的 ManyChat 感到着迷 我已成为该页面的管理员 并继续从该页面的已连接应用程序列表中删除许多聊天 但页脚仍然存在 也许我必须调用 Messenger 平台
  • 是否可以验证html5中input=file的大小和类型

    我正在读这个http dev w3 org html5 markup input file html http dev w3 org html5 markup input file html 但我只找到了 accept 属性 我试过这个
  • Python:检查对象是否是序列

    在 python 中 有没有一种简单的方法来判断某些东西是否不是序列 我尝试这样做 if x is not sequence但Python不喜欢那样 iter x 将提出一个TypeError if x不能迭代 但该检查 接受 集合和字典
  • 获取我的应用程序的当前 dot net 版本

    如何获取我的 asp net 应用程序的正在运行的 dot net 版本 我尝试了这里的解决方案 有没有一种简单的方法来检查 NET Framework 版本 https stackoverflow com questions 951856
  • 如何解决 HttpURLConnection 上的 NullPointerException?

    我正在开发一个Android应用程序 使用ExoPlayer进行视频播放 使用Glide进行图像显示 使用下载库进行文件下载 它们都有与HttpURLConnection相关的NullPointerException 我确信使用的链接是可用
  • Java中的BlockingQueue是完全线程安全的吗

    我知道文档说该对象是线程安全的 但这是否意味着从所有方法对它的所有访问都是线程安全的 所以如果我打电话put 同时从多个线程上进行操作take 在同一时刻 不会有什么不好的事情发生吗 我问这个问题是因为这个答案让我再次猜测 https st
  • SQL:使用 FOR XML 每个元素一行

    我有一个 SQL Server 2005 查询 它生成一个大结果集 最多几 GB SELECT FROM Product FOR XML PATH Product 运行查询会生成一行 其中包含具有许多产品元素的文档 Row 1
  • 基于角色在GridView中显示编辑按钮

    我有一个网格视图 我添加了AutoGenerateEditButton True 我想向属于特定角色的用户显示该按钮 如果不是 则不会呈现按钮 你有什么建议吗 我必须处理哪个事件才能实现该目的 我是否必须使用模板驱动的控件 例如 ListV
  • 如何将 csv 文件导入到使用 R 内核的 Google Colab 中?

    我的计算机上有一个 csv 文件 可以将其上传到 Google 云端硬盘 我正在尝试使用 Google colab 但使用 R 而不是 Python 我怎样才能导入这个csv https stackoverflow com a 579272
  • 在scala中如何将一个案例类转换为另一个不受代码更改字段添加影响的案例类?

    case class Cat color Int isFat Boolean case class Kitten color Int isFat Boolean 我想从 Cat 构造 Kitten 但希望在不传递所有参数的情况下自动执行此操
  • 如何通过 github api 获取热门 github 存储库列表?

    我想要获取像这样的 github 趋势存储库列表 https github com trending l java https github com trending l java但我没有找到任何类似的请求方法https developer
  • 将日期从波斯语转换为公历

    如何使用 System globalization PersianCalendar 将波斯日期转换为公历日期 请注意 我想转换我的波斯日期 例如今天是 1391 04 07 并获得公历日期结果 在本例中为 06 27 2012 我正在数秒等
  • 在 Emacs 中设置选项卡大小

    我使用 Emacs 作为编辑器 我想将制表符大小设置为四个空格 在我的 emacs文件我有以下内容 setq default tab width 4 我也尝试过 set default tab width 4 不管怎样 当我打开 emacs
  • 在本机应用程序和网站之间共享凭据

    我正在开发的一个应用程序允许用户登录支持 OAuth 的后端 因此 应用程序仅了解身份验证令牌和用户元数据 而不了解用户的凭据 在应用程序中 用户可以点击在浏览器中打开链接的链接 这些资源也受到 OAuth 的保护 登录原生应用时获得的 t