移动应用程序的 OAuth2 流程

2023-11-25

我们有一个预先存在的移动应用程序。用户将注册他的用户名和密码。目前我们有一个基于自定义令牌的身份验证。我们希望在不影响用户体验的情况下切换到 OAuth2。看起来资源所有者密码凭证对我们来说是最接近的流程,但是有很多建议反对使用它们...任何其他建议...我们计划使用 IdentityServer4


太棒了;采用授权码流程 + PKCE

对于无法转换(迁移)为完全 OAuth 客户端的客户端,可以授予资源所有者密码凭据。另外,请注意,规范严格提及与客户端和最终用户的信任关系。

From 规格

资源所有者密码凭据授予类型适用于 资源所有者拥有的情况信任关系与 客户端,例如设备操作系统 or a 高度特权 应用。授权服务器在以下情况下应特别小心: 启用此授权类型,并且仅在其他流不允许时才允许它 可行的。

所以你听到的都是正确的。仅当您别无选择时才必须使用此选项。请注意,通过使用此流程,您将失去 OAuth 2.0 的本质。您将向客户端公开最终用户凭据。!

迁移到 OAuth 2.0

移动客户端有公共客户。移动客户端的建议补助金是授权码授予类型。另外,由于它是公共客户端,您必须使用PKCE(OAuth 公共客户端代码交换的证明密钥)。 PKCE 为授权代码授予类型添加了额外的保护层。

迁移到 OAuth 2.0 需要对您的移动应用程序进行更改。您将必须重新设计应用程序的登录功能。但不要害怕,有很多优秀的库可用于支持 PKCE 的 OAuth 2.0。 IdentityServer4 也将支持这些协议。

如果您采用 OAuth 2.0,您就可以无缝更改授权服务器(通过某些配置)。这意味着同一应用程序可以使用来自不同授权服务器的用户。因此,请使用授权代码流程 + PKCE

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

移动应用程序的 OAuth2 流程 的相关文章

  • 未从 ADFS 3.0 获取 OAuth2 访问令牌中使用的 JWT 中的用户身份

    我通过以下方式使用 ADFS 3 0 支持的授权流程 浏览器连接到 MyService MyService 将浏览器重定向到 ADFS 以进行 OAuth 浏览器连接到 ADFS 获取 OAuth 授权代码 ADFS通过浏览器对用户进行身份
  • Android,在连接wifi的情况下与移动数据通信,无需上网

    我有一个汽车配套应用程序 需要与 WiFi 和移动数据网络进行通信 我的车辆控制单元提供了一个无需互联网访问的 WiFi 网络 它公开了我们可以从应用程序调用的 API 服务 除此之外 我们还需要使用手机移动数据 3G 4G 与另一个可通过
  • CORS 问题从 React 应用程序 > 节点服务器 > 重定向到 Google OAuth2 身份验证发出 AJAX 请求

    大家好 过去两天我一直在绞尽脑汁研究这个问题 但没有运气 这是我在尝试从我的 React 应用程序 localhost 3000 使用 Google Oauth2 Passport 策略进行身份验证时遇到的错误 我正在 localhost
  • Web 客户端和移动 REST API 安全性的推荐配置

    我意识到关于这个主题有很多问题 我已经研究了几天了 我想确保我的问题尽可能具体 因为我还没有完全理解最佳方法 目前我有一个开发的 django 站点 Web 客户端大约 95 是通过 django piston json REST api
  • 手机上的网页滚动条可以隐藏吗?

    我正在尝试在移动设备上隐藏滚动条 一切在桌面上看起来都很好 没有滚动条 但是当我检查某些 Android 设备 ipad 时 我仍然可以看到灰色 细小的拇指 可以从浏览器中隐藏预定义的滚动条 我的代码 在桌面上运行良好 body webki
  • KeyCloak 服务器的自省端点

    我正在尝试探索 KeyCloak 服务器的功能 并希望通过使用获取有关访问令牌的信息 openid connect token introspect端点 因此 我将向此端点发送下一个请求 curl v data token type hin
  • 使用 login.microsoft.com 的 OAuth 返回不一致的令牌

    我在用着office js helpers认证库 https github com OfficeDev office js helpers authentication 使用Microsft Azure AD 2 0 Converged a
  • 什么是“代码替换(OAuth 登录)”威胁?

    来自OAuth 2 0 威胁模型和安全注意事项 draft https datatracker ietf org doc html draft ietf oauth v2 threatmodel 08 section 4 4 1 13 4
  • 使用 Spotipy 设置 Spotify 凭据

    我正在尝试在我的 mac 10 10 上预装 python 2 7 10 来使用 Spotipy 特别是 add a saved track py 1 这是从 github 复制的代码 Add tracks to Your Collecti
  • ADAL - AcquireTokenSilentAsync 失败(Azure Active Directory 身份验证库)

    我编写了一个新的应用程序来通过其余 API 访问 Office 数据 因此我想使用新的 认证模型 V2 0端点 v2 0 端点有什么不同 https azure microsoft com en us documentation artic
  • 如何向 Parse Signup 功能添加额外属性?

    我想向我的解析注册函数添加一个额外的属性 我的代码就像 signUp function e var self this var username this signup username val var password this sign
  • Identity Server 4 无提示续订错误响应:login_required

    我已经从以下位置克隆了存储库redux oidc 示例 https github com maxmantz redux oidc example它在大多数情况下都有效 但几个小时后它会出现以下错误 操作负载 ErrorResponse lo
  • Spotify PKCE code_verifier 不正确

    我很高兴听到我现在可以通过 PKCE 使用 Spotify Web API 而无需使用后端应用程序 不幸的是 我似乎有某种误解并且无法让它发挥作用 一路上我可能犯了一些小错误 但我做了一次却无济于事 我把石板擦干净并再次尝试 但仍然没有运气
  • 如何触发应用程序通过 REST 服务获取数据?

    我正在寻找一种方法来触发应用程序从远程 REST 服务获取数据 该方法不需要轮询 iOS 推送通知似乎不是一个选项 因为它可以被用户停用 然而 我可能是错的 是否有最佳实践来完成此任务 实际上 推送通知是可行的方法 在 ios8 及更高版本
  • 从当前位置出发的移动网络行车路线

    我正在构建一个网站的移动版本 试图通过一键式链接来启动 Google 地图 并提供从用户当前位置到企业的行车路线 我让它在 iPhone 上运行良好 但在 Android 上测试时 它会查看 Current 20Location 并尝试查找
  • Google Drive Realtime API 离线和同步支持

    我想构建一个移动 Web 应用程序 为协作持久数据提供透明的离线和同步支持 我正在考虑使用 Google Drive Realtime API 作为后端 API 对离线和同步的支持程度如何 它只是通过包含的 API 脚本 自动 工作 还是应
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • IdentityServer:API 资源和范围

    我的理解是 一个Client允许访问 ome 或更多ApiScope and an ApiScop与许多有联系ApiResources其名称成为观众主张的价值观 IE 1 个客户端 gt 许多 API 范围 和 1 API 范围 gt 许多
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 如何使用 Jquery mobile 进行移动分析

    我正在寻找一个好的解决方案来为 Jquery mobile 进行移动分析 我确实检查了这个问题 Flurry Analytics 与移动平台上的 Google Analytics https stackoverflow com questi

随机推荐

  • LINQ GroupBy 连续时间

    假设我有一个如下所示的简单结构 public class Range public DateTime Start get set public DateTime End get set public Range DateTime start
  • 在所有设备上显示像素完美的画布

    我有一些画布 我想在每个 现代 浏览器中以像素完美的方式显示它们 默认情况下 具有高 DPI 屏幕的设备会缩放我的页面 以便所有内容看起来都大小正确 但它破坏了 我画布的外观 如何确保画布中的一个像素 屏幕上的一个像素 最好这不会影响页面上
  • .NET 跟踪不适用于 Diagnostics.TraceSource,仅适用于 Diagnostics.Trace

    我正在尝试设置 NET 跟踪 我可以通过 System Diagnostics Trace 进行基本跟踪 但由于复杂的原因 我必须通过 System Diagnostics TraceSource 对象 自 NET 2 0 以来的新方法 激
  • 将带有百分比编码的 QUrl 转换为字符串

    我使用用户输入的 URL 作为文本来初始化 QUrl 对象 稍后我想将 QUrl 转换回字符串以显示它并使用正则表达式检查它 只要用户不输入任何百分比编码的 URL 这种方法就可以正常工作 为什么下面的示例代码不起作用 qDebug lt
  • 字节消息参数错误

    我无法弄清楚 字节 方法在抱怨什么 在下面的代码中 我尝试为我的客户端生成身份验证密钥 但我不断收到此错误 1 import hmac import hashlib import base64 message bytes Message u
  • 如何正确设置AppExecutionAlias以便可以从命令行启动程序?

    此 WPF 应用程序的 Package appxmanifest 已设置
  • 保护服务器上的 Breeze 以防止恶意更新外键

    问题 我只是想弄清楚在 Breeze 中保存更改时我需要在服务器端实现多少安全性 特别是 我正在考虑恶意用户如何手动破解 SaveChanges 请求 或破解客户端中的 javascript 以绕过我的正常业务规则 例如 恶意更改我的实体上
  • 如何启用 Google Vision API 在同一项目中访问 Google Cloud Storage Bucket

    我已将一些测试图像上传到 Google Cloud Bucket 但不想公开它们 这将是作弊行为 当我尝试对 Google Vision API 运行休息调用时 我得到 responses error code 7 message imag
  • .NET 捕获、分组、匹配之间的差异

    我正在使用 NET Regex 类型制作一个小型应用程序 而 捕获 分组和匹配 类型完全让我困惑 我从未见过如此丑陋的解决方案 有人能为我解释一下它们的用法吗 非常感谢 这是一个比 Dav 引用的文档中的例子更简单的例子 string s0
  • 如何在 PowerQuery 中引用单元格的值

    我有多个 Power Query 查询 我想将这些查询提供给 Excel 文件中的单元格的值 在本例中 为源文件名的完整路径 有什么办法可以将其导入到 Power Query 中吗 这可以使用 PowerQuery 中的命名范围和自定义函数
  • 如何使用 TryParseHtmlString 将十六进制转换为颜色(RGBA)

    如何使用十六进制值更改 Unity 中的按钮颜色 我尝试了这个 但它不起作用 也许我在这里犯了一个错误 btn image color ColorUtility TryParseHtmlString DADADAFF out color 您
  • 如何通过 PHP 获取页面正文中的 URL 参数?

    在 Drupal 站点上 为页面正文内容启用了 PHP 代码 如何在 PHP 代码中获取参数及其值 例如 我想得到ref and 33002 from http example com node 1 ref 33002 在下面的代码中 我可
  • RPres 中的代码框大小和字体大小

    我过去经常使用 knitr 和 beamer 来制作幻灯片 我现在在 R 演示文稿中注意到一件事 代码框和代码字体大小的动态大小似乎都丢失了 使用 knit beamer 我可以轻松地使用 size 参数更改字体大小 例如 size foo
  • 如何将单个反斜杠放入 ES6 模板文字输出中?

    我正在努力获取 ES6 模板文字来生成单个反斜杠及其结果 gt s s gt s s gt s s gt s s gt u005Cs s 通过检查 Node REPL 上的值 而不是使用打印它 使用 Node 8 9 1 和 10 0 0
  • ios:如何使用 StoryBoards 从 ViewController 打开选项卡栏控制器

    我正在这样做 并且想要从登录页面打开选项卡栏控制器 如果是第一次并且已经登录 然后传递登录页面并在 Spalsh 之后打开选项卡栏控制器 意味着如果用户第一次登陆应用程序 时间顺序应该是这样的 1 飞溅 2 登录页面 3 成功登录后 打开具
  • django forms:在单个表单中编辑多组相关对象

    我正在尝试做一些应该很常见的事情 以单一形式添加 编辑一堆相关模型 例如 Visitor Details Select destinations and activities Miami swimming clubbing sunbathi
  • Url 编码和 HTML 编码之间的区别

    和有什么区别网址编码 and a HTML 编码 HTML 编码对 HTML 文档中使用的字符串中的特殊字符进行转义 以防止与 HTML 元素混淆 例如更改
  • Python 异步任务排序

    我有一个关于python中的事件循环如何的问题asyncio模块管理未完成的任务 考虑以下代码 import asyncio asyncio coroutine def a for i in range 0 3 print a str i
  • JavaFX 中的 HTML 编辑选项

    我希望将基于 Swing 的应用程序中使用的 HTML 编辑器替换为基于 JavaFX 的编辑器 据我所知 有两种可能的选择 1 使用JavaFX HTML 编辑器 虽然这对于功能来说非常好does有 它仍然缺乏其他几个功能 例如插入图像
  • 移动应用程序的 OAuth2 流程

    我们有一个预先存在的移动应用程序 用户将注册他的用户名和密码 目前我们有一个基于自定义令牌的身份验证 我们希望在不影响用户体验的情况下切换到 OAuth2 看起来资源所有者密码凭证对我们来说是最接近的流程 但是有很多建议反对使用它们 任何其