我应该为移动应用程序的后端使用 OAuth(或其他什么)吗? - 在这种情况下只有*一个* "third-party" 申请
Should I use OAuth (or what else) for the backend of a mobile app? - There is only *one* "third-party" application in such cases
我正在开发一个移动应用程序及其后端 (Java)。我应该如何对用户进行身份验证(使用我们自己的帐户系统,而不是 Google/GitHub 帐户之类的东西)?一种方法是创建 OAuth2 服务器。但是,我的后端不是巨人,我在OAuth的定义中只有一个 "third-party application"...
所以我想知道在这样的移动应用程序中最好的身份验证方式是什么?谢谢!
P.S。另一个想法是使用 cookie,就像过去开发浏览器网页时一样。但我很少看到应用程序这样做。我看到他们中的大多数发送 Authorization: Bearer the_token_values
...
P.S.2 我正在使用 Flutter 和 Java Spring.
如果您的身份验证系统支持 OAuth,请务必使用它。 OAuth 的优势在于标准化。使用标准协议有很多优点。最重要的是,很难想出一个防弹认证系统。过去十年中许多引人注目的黑客攻击都归因于本土认证协议。
使用 OAuth 或其他广泛接受的协议的另一个优势是库的可用性。如今,您可以找到适用于任何平台和任何语言的 OAuth 库。
请记住,OAuth 并不是市面上唯一的游戏。还有其他很好的协议。 mTLS 可能是最可靠的证明。它需要强大的 Public 关键基础设施,但它可能是最难破解的。如果您在旧式环境中使用 Active Directory 并编写内部应用程序,请考虑 Kerberos。最后是 SAML,它非常有进取心,使用起来很痛苦,但它比普通的 OAuth 更灵活。
我正在开发一个移动应用程序及其后端 (Java)。我应该如何对用户进行身份验证(使用我们自己的帐户系统,而不是 Google/GitHub 帐户之类的东西)?一种方法是创建 OAuth2 服务器。但是,我的后端不是巨人,我在OAuth的定义中只有一个 "third-party application"...
所以我想知道在这样的移动应用程序中最好的身份验证方式是什么?谢谢!
P.S。另一个想法是使用 cookie,就像过去开发浏览器网页时一样。但我很少看到应用程序这样做。我看到他们中的大多数发送 Authorization: Bearer the_token_values
...
P.S.2 我正在使用 Flutter 和 Java Spring.
如果您的身份验证系统支持 OAuth,请务必使用它。 OAuth 的优势在于标准化。使用标准协议有很多优点。最重要的是,很难想出一个防弹认证系统。过去十年中许多引人注目的黑客攻击都归因于本土认证协议。
使用 OAuth 或其他广泛接受的协议的另一个优势是库的可用性。如今,您可以找到适用于任何平台和任何语言的 OAuth 库。
请记住,OAuth 并不是市面上唯一的游戏。还有其他很好的协议。 mTLS 可能是最可靠的证明。它需要强大的 Public 关键基础设施,但它可能是最难破解的。如果您在旧式环境中使用 Active Directory 并编写内部应用程序,请考虑 Kerberos。最后是 SAML,它非常有进取心,使用起来很痛苦,但它比普通的 OAuth 更灵活。