- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果唯一支持的流程是 HTTP 重定向,那么检索 OAuth 访问 token 的可移植方式是什么?例如,我想授权我的移动应用访问 RunKeeper API :
https://runkeeper.com/apps/authorize?client_id=...&response_type=code&redirect_uri=MY_OWN_REDIRECT_URL
的浏览器MY_OWN_REDIRECT_URL?code=ONE_TIME_AUTH_CODE
https://runkeeper.com/apps/token
请求实际访问 token 使用步骤 2 中的一次性授权码和客户端密码 http://localhost:XYZW
的 OAuth 重定向 URL并在它到达时捕获一次性授权码。但我不知道这是否适用于流行的移动平台(目前是 Android/iOS,我为这些平台找到了 Mongoose Web 服务器的端口)。
myapp-oauth-scheme://
.对于 RunKeeper,它似乎允许我重定向到此类自定义方案。而且我认为至少可以在 Android/iOS 上恢复我的应用程序,对吧?! WP8/BB10 等其他平台呢?
最佳答案
您可以结合选项 1 和 3 以获得可移植性和 UX 的最佳组合:
为身份验证提供应用内 Web View ,但不要在设备上运行本地 httpd,而是为重定向目标使用最小的 Web 服务。这样用户就永远不会离开您的应用程序,您的登录页面也不需要告诉他们手动返回它。您的应用程序可以从您的 Web 服务中检索访问 token ,并在其 URL 更改后立即关闭 WebView。
顺便说一句,我工作的公司 Temboo 有一个您可以使用的最小 Web 服务,而不是构建和托管您自己的。查看我们的 OAuth for RunKeeper helper 。我们提供了一个回调服务,您可以将其用于重定向 url,它将为您存储身份验证 token 。我们还可以选择存储您的 RunKeeper 凭据,这样您就不必将它们与您的应用程序一起分发,并且可以在不推送客户端更新的情况下更新或使它们失效。
我们的Android SDK还可以为您规范对 RunKeeper API 的其余部分以及 100 多个其他 API 的访问。
刚看到你的编辑。如果您已经在使用 WebView,那就更好了。让用户留在应用程序中,跳过自定义 URL 方案,跳过应用程序内服务器的开销,只使用一个小型 Web 服务来捕获身份验证 token 。这在 iOS 和任何其他可以提供 WebView 等效项的平台上也可以正常工作。
关于android - 适用于 Android/iOS 应用的 OAuth Web 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454873/
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
首先是一些背景;我们正在开发一个数据仓库,并对我们的 ETL 过程使用哪些工具进行一些研究。该团队非常以开发人员为中心,每个人都熟悉 C#。到目前为止,我已经看过 RhinoETL、Pentaho (
我需要具有管理员权限的进程。从this问题和答案来看,似乎没有比启动单独进程更好的方法了。因为我宁愿有一个专用于该过程的过程,而不是仅为此方法在第二个过程中启动我的原始应用程序–我以为我会在VS201
我有这个函数来压平对象 export function flattenObject(object: Object, prefix: string = "") { return Object.key
我正在开发一个基于java的Web应用程序,它要求我使用来自SIP( session 启动协议(protocol))消息的输入生成序列图。我必须表示不同电话和相应服务器之间的调用流程。我可以利用任何工
这是我的代码: Process p=Runtime.getRuntime().exec("something command"); String s; JFrame frame = new JFram
我对 istio 的 mTLS 流程有点困惑。在bookinginfo 示例中,我看到服务通过http 而不是https 进行调用。如果服务之间有 mTLS 那么服务会进行 http 调用吗? 是否可
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
之前做过一个简单的纸牌游戏,对程序的整体流程有自己的想法。我最关心的是卡片触发器。 假设我们有一张名为“Guy”的牌,其效果为“每当你打出另一张牌时,获得 2 点生命”。我将如何将其合并到我的代码中?
我有 4 个 Activity 。 A、B、C 和 D。 用户可以从每个 Activity 开始任何 Activity 。 即 Activity A 有 3 个按钮来启动 B、C 和 D。以同样的方式
我做了一个简单的路由器类,简化后看起来像这样 // @flow import { Container } from 'unstated' type State = { history: Objec
我有两个 Activity ,比如 A1 和 A2。顺序为 A1->A2我从 A1 开始 A2 而没有在 A1 中调用 finish() 。在 A2 中按下后退按钮后,我想在 A1 中触发一个功能。但
我正在考虑在我的下一个项目中使用 BPEL。我试用了 Netbeans BPEL 设计器,我对它很满意。但在我决定使用 BPEL 之前,我想知道它对测试驱动开发的适用程度。不幸的是,我对那个话题知之甚
我需要将两个表格堆叠在一起,前后都有内容。我无法让后面的内容正常流动。堆叠的 table 高度可变。 HTML 结构: ... other content ...
我是 Hibernate 的新手。我无法理解 Hibernate 的流程。请澄清我的疑问。 我有“HibernateUtil.java ”和以下语句 sessionFactory = new Anno
早上好 我开始使用 Ruby,想创建一个小工具来获取我的公共(public) IP 并通过电子邮件发送。我遇到了字符串比较和无法处理的 if/else block 的基本问题。 代码非常简单(见下文)
我目前正尝试在我的团队中建立一个开发流程并阅读有关 GitFlow 的信息。它看起来很有趣,但我可以发现一些问题。 让我们假设以下场景: 我们完成了 F1、F2 和 F3 功能,并将它们 merge
我已经使用 git flow 有一段时间了。我很想了解一个特定的用例。 对于我的一个项目,我有一张新网站功能的门票。此工单取决于许多子任务。我想为主工单创建一个功能分支,然后为每个子任务创建一个脱离父
你怎么知道在一个程序中已经发现并解决了尽可能多的错误? 几年前我读过一篇关于调试的文档(我认为这是某种 HOWTO)。其中,该文档描述了一种技术,其中编程团队故意将错误添加到代码中并将其传递给 QA
我目前正在构建一个微服务架构,并从身份验证服务器和客户端着手。我还想确认使用 token 对用户进行身份验证的最佳流程。 在上图中。第 3 步是我开始感到困惑。我想到了2个解决问题的方法。 每个 ap
我是一名优秀的程序员,十分优秀!