什么是重定向 URI?它如何应用于 OAuth2.0 的 iOS 应用程序?

2024-02-06

这里是初学者程序员,请原谅我的无知,解释会非常好:)

我尝试阅读某个 OAuth 2.0 服务的教程,但我不理解这个重定向 URI...在我的特定上下文中,假设我正在尝试构建一个使用 OAuth 2.0 进行某些服务的 iPhone 应用程序。我有一个已生成的应用程序 ID,但我需要提供某种重定向 URI 来生成 API 密钥。

这是我应该自己托管在某个地方的 URL 吗?顾名思义,我认为重定向 URL 应该将某人“重定向”到某个地方。我唯一的猜测是,这是用户登录服务后重定向到的 URL。

然而,即使这个假设是正确的,我也不明白另一件事 - 在我将它们发送到浏览器以供用户登录后,如何再次打开我的应用程序?


读这个:

http://www.quora.com/OAuth-2-0/How-does-OAuth-2-0-work http://www.quora.com/OAuth-2-0/How-does-OAuth-2-0-work

或者更简单但快速的解释:

http://agileanswer.blogspot.se/2012/08/oauth-20-for-my-ninth-grader.html http://agileanswer.blogspot.se/2012/08/oauth-20-for-my-ninth-grader.html

重定向 URI 是应用程序的回调入口点。想想 Facebook 的 OAuth 是如何工作的 - 最终用户接受权限后,Facebook 必须调用“某事”才能返回应用程序,而该“某事”就是重定向 URI。此外,重定向 URI 应与应用程序的初始入口点不同。

这个谜题的另一个关键点是你可以从给定 webview 的 URL 启动你的应用程序。为此,我只是按照此处的指南进行操作:

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

and

http://inhoo.net/mobile-development/iphone-development/launching-application-via-url-scheme/ http://inchoo.net/mobile-development/iphone-development/launching-application-via-url-scheme/

注意:在最后两个链接中,“http://”可用于打开移动 safari,但“tel://”在模拟器中不起作用

在第一个应用程序中,我调用

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"secondApp://"]];

在我的第二个应用程序中,我注册“SecondApp”(而不是“SecondApp://”)作为 URL 方案的名称,并使用我的公司作为 URL 标识符。

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

什么是重定向 URI?它如何应用于 OAuth2.0 的 iOS 应用程序? 的相关文章

  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • Google 地图 API -> OpenGLES 崩溃

    日志是从 Crashlytics 粘贴的 对于许多用户来说 崩溃经常发生 据我所知 它与设备 iOS 版本无关 我在我的代码中找不到任何错误 这似乎是纯粹的库问题 是 Google 地图 API 错误吗 我可以做些什么来修复它 或者我应该在
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • 如何绕过Keycloak登录表单直接跳转到IDP登录?

    我正在运行saml 经纪人身份验证 https github com keycloak keycloak tree 3 2 1 Final examples broker saml broker authentication例子 我在 UI
  • 通过 AJP 将 REMOTE_USER 转发到 tomcat(例如用于 shibboleth)

    今天我刚刚遇到了以下问题 1 我将apache配置为基本身份验证 需要有效用户 这有效 2 我进一步配置 apache 将某些路径 在我的例子中为 idp 的请求转发到 tomcat servlet shibboleth IDP 结果是 s
  • iOS 13 beta 外部屏幕上的 OverscanCompensation

    我正在测试一个应用程序的测试版 但遇到了外部屏幕的问题 我们看到应用程序周围有黑色边框 我们之前可以通过设置来纠正它overscanCompensation to none但在 iOS 13 中 该设置根本没有任何效果 我们曾经看到一个错误
  • Xcode 存档上传失败并出现错误

    我正在尝试从 xCode 将新版本上传到 iTunesConnect 但每次我都会遇到此问题 问题是什么 我该如何解决这个问题 最近 我开始在上传过程中遇到问题 Xcode 经常卡住 最终会因您看到的第二个错误而失败 受够了一段时间后 我转
  • 核心数据 NSFetchRequest 还获取实体的子对象

    我是 iOS 开发和 Core Data 的新手 我有一个父 NSManagedObject class Units interface Properties NSManagedObject property nonatomic retai
  • 在运行时获取 iPhone 应用程序的产品名称?

    如何才能实现这一目标 我想获取名称 以便可以在应用程序中显示它 当然 每次更改名称时不必在代码中更改它 Try this NSBundle bundle NSBundle mainBundle NSDictionary info bundl
  • 仅将 UIImage 移动到另一个 UIImage 内部

    I have an UIImage which is shown in an UIImageView I also have another image in an UIImageView which lays above the firs
  • IOS7 状态栏在选定控制器上隐藏/显示

    我想在某些控制器上显示和隐藏状态栏 这可以完成吗 或者它更像是一个整体应用程序设置 我看过很多关于 plist 更新的帖子 问题 View controller based status bar appearance NO 如果这完成了 那
  • 我可以更改键盘方向吗?

    例如我用这段代码关闭自动旋转 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation return NO BOOL sh
  • 奇怪的 UITableView 插入/删除行动画

    在带有动画 UITableView RowAnimationTop 的 UITableView 中插入 删除 UITableViewCell 时 我看到了奇怪的效果 当要插入的单元格比上面的单元格大得多时 就会发生动画故障 显示模拟器中的故
  • 将子视图控制器的视图添加到父视图控制器的子视图

    我想添加一个表视图控制器作为容器视图控制器的子视图控制器 如下所示 根据苹果公司的查看控制器编程指南 http developer apple com library ios featuredarticles ViewControllerP
  • 使用 NSURLSessionDataTask 显示文件下载进度

    我想显示特定文件的文件下载进度 收到了多少字节 它与 NSURLSessionDownloadTask 配合得很好 我的问题是我想用 NSURLSessionDataTask 实现同样的效果 以下是将文件接收到 NSData 并写入文档文件
  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • iOS Storyboards 我应该使用它们吗? [复制]

    这个问题在这里已经有答案了 我是 iOS 开发新手 尚未创建应用程序 但我向我的朋友寻求建议 他在市场上拥有非常高评价的应用程序 他说不要使用故事板 尽管我很想听取他的建议 但它们似乎确实很有帮助 这是否会在将来给我的应用程序带来问题 我有
  • 通过身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

    I have Ion Auth http benedmunds com ion auth 正确安装并在我的服务器上运行 我也有默认的代码点火器2 新闻 教程在同一个 CI 安装中工作 我只是在玩 并对使用身份验证系统 封闭 或保护整个应用程
  • 图像目录中矢量 pdf 的渲染模式设置为模板,但 UIImageView 不会在自定义单元格中对图像进行着色

    我已将所有图像文件迁移到资产目录中 它们都是大小为 1x 的 pdf 向量 它们被设置为呈现为模板 它们的大小和颜色在任何地方都表现得很好 但是有一个来自 xib 的自定义 TableView Cell 我有 6 个 UIImageView
  • Node.js 和 Passport 对象没有 validPassword 方法

    我正在使用 Node js Express Passport 创建一个简单的身份验证 本地 到目前为止我所达到的效果是 当输入错误的用户名或密码时 用户将被重定向到错误页面 但是当用户输入正确的用户名和密码时 我收到此错误 node mod

随机推荐

  • 为运行 python 脚本指定带空格的参数

    如何使用包含空格的参数运行 python 我正在使用 MacOS 例如 gt python testProgram py argument 1 argument 2 其中 参数 1 是单个参数 其中 参数 1 是单个参数 你基本上已经回答了
  • 多线程时 cv2 图像显示不起作用

    我试图在捕获网络摄像头时将图像显示在屏幕上 我使用的是 MAC 因此 我启动了两个线程 一个用于捕获视频 另一个用于在屏幕上呈现图像 webcam thread self init webcam thread images thread s
  • 从 setup.py 安装依赖项

    我想知道除了 deb 包之外 是否可以在我的 setup py 中配置我的包的依赖项 然后运行 sudo python setup py install 它们是自动安装的 已经在互联网上进行了研究 但我发现的一切都让我感到困惑 比如 req
  • 在 iOS Sprite Kit 游戏中创建关卡

    我正在创建一个游戏 我希望它有一个可以选择关卡的场景 然后有可以玩的关卡 我只是想知道当用户达到该级别时如何创建级别并保存 我正在考虑在 ViewController h 中创建一个 BOOL 并在每个场景中调用它 即 LevelCompl
  • 如何在 pytorch 中使用可学习参数,限制在 0 和 1 之间?

    我想使用一个仅取 0 到 1 之间值的可学习参数 我如何在 pytorch 中做到这一点 目前我正在使用 self beta Parameter torch Tensor 1 initialize zeros self beta 但当我训练
  • 无法删除 Solr 键

    从 Solr 文件集合中删除键时遇到问题 使用以下命令更新 Solr 集合
  • IP允许子目录访问NGINX

    我实际上使用 nginx 作为我的网络服务器 我试图使用以下命令拒绝所有子目录访问 location root usr share nginx html project index index html index htm index ph
  • 复合 if 语句更快,还是多个 if 语句更快?

    假设我们有两段代码 if foo True and bar False and baz True do something and if foo True if bar False if baz True do something 哪个更快
  • Eclipse 中的 Android 错误:“无法执行 dex:无法将新索引 65799 合并到非巨型指令中!”

    我正在尝试使用 Eclipse 使用 OpenSAML 的 Android 项目 我已在构建路径中添加了所有必需的 jar 文件 现在 当我将程序作为 Android 应用程序运行时 会出现以下错误 2012 11 18 11 52 59
  • 将 SHA-256 与 NodeJS 加密结合使用

    我正在尝试对 NodeJS 中的变量进行哈希处理 如下所示 var crypto require crypto var hash crypto createHash sha256 var code bacon code hash updat
  • 明显死锁 c3p0 0.9.5.1 弹簧

    我们在使用 c3p0 0 9 5 1 这是 c3p0 的最新版本 时面临明显的死锁 以下是我们正在使用的连接池配置 p driverClass app jdbc driverClassReplica p jdbcUrl jdbc mysql
  • EF7 在运行时更改连接字符串

    在 EF 的早期版本中 我们能够更改 dbcontext 连接字符串 如下所示 context Database Connection ConnectionString the new connectionstring 我们如何使用 EF7
  • 在 .Select lambda 中使用 async/await

    我正在使用 Asp Net Core Identity 并尝试简化一些投影用户列表的代码以及他们的角色到视图模型 这段代码可以工作 但是在试图简化它的过程中 我陷入了错误和好奇心的疯狂螺旋中 这是我的工作代码 var allUsers us
  • Selenium Chrome 驱动程序无法解析 getElementRegion 的值

    使用 chrome 驱动程序运行我的 selenium 测试时 我从 chrome 驱动程序中收到以下错误 测试在firefox下运行良好 未知错误 无法解析 getElementRegion 的值 这是代码 尝试单击提交按钮时失败 我正在
  • 将 UserControl 转换为自定义控件

    下面的 UserControl 效果很好 但我想让更改样式变得更容易 我尝试过的一件事是将其转换为自定义控件 但我停留在基础知识上 例如如何在处理属性更改的静态方法中设置工具提示 见下文 我尝试将样式移动到 ResourceDictiona
  • Qt formlayout 不垂直扩展 qplaintextedit

    我很困惑为什么Q纯文本编辑添加到窗口小部件时不会垂直调整大小QForm布局 在下面的代码中 文本字段可以正确地水平缩放 但不会垂直缩放 任何人都可以解释这种行为并提供解决方案吗 我已经尝试了所有我知道的技巧 但没有成功 from PyQt4
  • 操作导致超出Core配额限制。允许的最大数量:4,当前使用的数量:4,额外要求的数量:4。在 14 天免费试用期间

    我正在使用 14 天高级免费试用版 我正在尝试在 databricks 中创建并运行集群 我正在遵循快速入门指南 我如何收到以下错误 操作导致超出核心配额限制 允许的最大数量 4 当前使用的数量 4 额外请求的数量 4 我无法提高限制 因为
  • 在C中将格式化文件读取到char数组中

    我有一个非常简单的问题 我需要将文件的内容读入 C 中的字符数组中 该文件将始终格式化为两列字母 例如 A B B C E X C D 每个字母代表图形上的一个顶点 我稍后将处理它 我学习过使用 C 和 Java 进行编程 但我对 C 并不
  • JaCoCo:缺少类目录

    我对 JaCoCo 相当陌生 在生成代码覆盖率报告时遇到问题 这是我的项目结构 我的集成测试位于 integration tests 模块中 当我使用 mvn 构建项目时 我在日志记录中收到以下内容 INFO Skipping JaCoCo
  • 什么是重定向 URI?它如何应用于 OAuth2.0 的 iOS 应用程序?

    这里是初学者程序员 请原谅我的无知 解释会非常好 我尝试阅读某个 OAuth 2 0 服务的教程 但我不理解这个重定向 URI 在我的特定上下文中 假设我正在尝试构建一个使用 OAuth 2 0 进行某些服务的 iPhone 应用程序 我有