不涉及第 3 方应用程序时需要 OAUTH2 吗?

OAUTH2 needed when no 3rd party apps are involved?

目前,我正在尝试在 node.js 中使用 REST api 创建一个服务器,以便从 android 和 iOS 中创建的应用程序进行 CRUD 调用。

当然,我希望这个 REST api 尽可能安全。最近几天试图找到最好的方法来做到这一点似乎是通过 HTTPS 的 Oauth2 服务器。

我知道外面有很多这样的东西,但我找不到任何简单的解释来说明它应该如何工作。所以请不要将此标记为重复问题,因为我实际上对此感到困惑。

阅读有关 Oauth2 的文章,android/ios 中的应用程序需要在服务器上注册。在我看过的所有地方,这都被认为是第 3 方应用程序,但对我而言并非如此。

如果用户决定允许,Oauth2 似乎更安全,可以让第三方应用程序访问我的 REST api。就像任何支持使用 facebook 或 G+ 登录的应用程序一样。

但是原始应用程序是如何做到的呢?喜欢 Facebook、Twitter 和 Google+ 的官方应用程序吗?

他们是否有可能将 Oauth2 基础知识与 access/request takeens 等一起使用,但跳过整个用户批准部分,因为它不是第 3 方应用程序。或者他们可能会在 headers 中或通过 post 通过 https 使用更简单的用户名和密码?

如果我目前不打算添加第 3 方访问我的 api,我真的不知道该采取什么方式。什么是继续进行的好方法?

绝对是的!它称为 two legged authentification(它与存储在授权服务器数据库中的用户凭据一起使用)。它意味着只有你的客户端应用程序和你的资源服务器) 您可以在此处查看一些文档:

http://blog.nerdbank.net/2011/06/what-is-2-legged-oauth.html

http://oauthbible.com/

和官方规范(在第 10 页,您可以看到我用于我的应用程序的工作流程): https://www.rfc-editor.org/rfc/rfc6749#section-1.3