Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该使用OAuth(或其他什么)作为移动应用程序的后端吗只有一个;“第三方”;在这种情况下的适用_Java_Spring_Authentication_Flutter_Oauth - Fatal编程技术网

Java 我应该使用OAuth(或其他什么)作为移动应用程序的后端吗只有一个;“第三方”;在这种情况下的适用

Java 我应该使用OAuth(或其他什么)作为移动应用程序的后端吗只有一个;“第三方”;在这种情况下的适用,java,spring,authentication,flutter,oauth,Java,Spring,Authentication,Flutter,Oauth,我正在开发一个移动应用程序及其后端(Java)。我应该如何验证用户身份(使用我们自己的帐户系统,而不是像Google/GitHub这样的帐户)?一种方法是创建OAuth2服务器。然而,我的后端不是一个巨人,在OAuth的定义中,我只有一个“第三方应用程序” 所以我想知道在这样的移动应用程序中,什么是最好的身份验证方式?谢谢 另一个想法是使用cookies,就像以前开发浏览器网页一样。但我很少看到应用程序这样做。我看到他们中的大多数发送授权:承载\u令牌\u值 p.S.2我使用的是颤振和Java

我正在开发一个移动应用程序及其后端(Java)。我应该如何验证用户身份(使用我们自己的帐户系统,而不是像Google/GitHub这样的帐户)?一种方法是创建OAuth2服务器。然而,我的后端不是一个巨人,在OAuth的定义中,我只有一个“第三方应用程序”

所以我想知道在这样的移动应用程序中,什么是最好的身份验证方式?谢谢

另一个想法是使用cookies,就像以前开发浏览器网页一样。但我很少看到应用程序这样做。我看到他们中的大多数发送
授权:承载\u令牌\u值


p.S.2我使用的是颤振和Java Spring。

如果您的身份验证系统支持OAuth,请务必使用它。OAuth的优点是标准化。使用标准协议有很多优点。最重要的一点是,很难设计出防弹认证系统。在过去十年中,许多引人注目的黑客行为都归因于本土的认证协议

使用OAuth或另一个广泛接受的协议的另一个优点是库的可用性。现在,您可以找到适用于任何平台和任何语言的OAuth库


记住,OAuth不是镇上唯一的游戏。还有其他很好的协议。也许最防弹的是mTLS。它需要强大的公钥基础设施,但可能是最难破解的。如果你在ActiveDirectory的旧学校环境中编写一个内部应用程序,考虑Kerberos。最后还有一个SAML,它非常有进取心,工作起来很痛苦,但它比普通的OAuth更灵活。

非常感谢!我主要担心的是OAuth太“重”,因为除了编写一些JavaSpring代码之外,我们还需要设置一个身份验证服务器。最初我认为身份验证非常成熟,应该“一键”完成,而不是设置单独的服务器等:)顺便问一下,关于身份验证服务器,你能推荐一些吗,谢谢!(我已经搜索并查看了
keydove
,但不知道它是否是最好的)这取决于您的环境。从未使用过钥匙斗篷,但听说过。我主要使用企业服务器,如prem上的ADFS和Auth0。对于开源服务器,请查看IdentityServer(.NET-based,不附带预构建的UI)、OpenAM(非常旧,但仍然支持大量协议)、go-oauth和light-oauth也非常好。@Viad Hi我对一些简单的细节感到困惑。。。你能给个答复吗?非常感谢!问题链接-->你查过JWT吗?@Turab是的,我也查过了。我听到很多声音在比较JWT和OAuth。。。但我觉得JWT也有点重。