【问题标题】:Is there a production quality OAuth sample for Android?是否有适用于 Android 的生产质量 OAuth 示例?
【发布时间】:2011-06-19 16:38:55
【问题描述】:

那里有很多示例,尤其是对于 Twitter。这个似乎是最完整的之一,所以我一直在破解它:

https://github.com/brione/Brion-Learns-OAuth

但是,所有示例基本上都是概念验证代码。它们都有粗糙的边缘,例如当您通过浏览器启动时会留下拆分的任务堆栈。通过将其声明为 singleTask 并强制浏览器回调原始任务而不是启动新的活动,我已经让我正在使用的应用程序主要按照我想要的方式工作:

<activity android:name=".MainActivity"
              android:label="@string/app_name"
              android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

但是我想知道是否有更好的方法来处理这个问题,比如弹出一个模式 WebView 来引导用户完成身份验证过程?

我假设特别是对于 Twitter,“正确”的做法可能是交换到 xauth。但我仍然想知道,一般来说,是否有适用于 Android 的最佳实践生产质量 OAuth 实施?

【问题讨论】:

  • 目前,这是唯一的解决方案

标签: android twitter oauth


【解决方案1】:

【讨论】:

  • 感谢您的指点。不幸的是我还没有深入研究maven,所以我不能完全测试它。但是很高兴看到另一批采用类似方法的代码,并添加了一些我还没有尝试过的技术。谢谢!
【解决方案2】:

去过那里,做到了。浮动的 android 示例几乎总是错过一些重要的细节,或者根本不是最新的。这就是为什么我写了一个易于理解的总结我几天前在 android 上进行 OAuth 的原因:

http://nilvec.com/implementing-client-side-oauth-on-android/

如果有人感兴趣,我还可以发布我实现的 OAuth 帮助器类。

【讨论】:

  • 拜托,我不确定我是否完全理解没有清单的情况。每当我尝试做类似的事情时,我最终都会将 MyActivity 活动堆叠在浏览器活动上,除非我调整了 MyActivity 的启动设置。如果有更好的方法很想尝试一下。
  • 如果这是唯一的问题,您可以尝试使用 FLAG_ACTIVITY_NO_HISTORY 例如Intent i = new Intent("android.intent.action.VIEW", Uri.parse(uristring)); i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); startActivity(i);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多