OAuth2适用于具有最简单客户端-服务器架构的移动应用程序



我们有一个经典的C-S(客户端-服务器(架构,即移动应用程序和业务服务器。我们有自己的账户系统(不使用第三方账户,如谷歌/脸书账户(。我知道我应该使用OAuth2进行身份验证。问题是,我该如何实现

有两件事我没有在网上找到:

  1. 我们正在使用我们自己的帐户系统-没有Google/Facebook帐户
  2. 用户应在原生应用程序UI中输入密码,而不是在嵌入应用程序的浏览器网页中输入密码

问题:

  1. 我认为我们可以使用"资源所有者密码授予"模式。用户在原生UI中输入密码,然后我们收集并向服务器发送HTTPS请求,等等。但我看到有人说这不安全。。。那么我应该用它吗
  2. 如果我们应该使用"授权码"模式,我应该如何让用户在原生UI中输入密码

非常感谢!

p.s.如果我们没有自己的账户系统,只依赖谷歌/脸书的账户,那么一切都很简单。我们可以使用任何博客、文章或互联网上的答案。然而,我们需要我们自己的账户系统

当与第三方身份验证一起使用时,资源所有者流被认为是不安全的,例如,您的移动应用程序试图访问用户Dropbox或Gmail电子邮件中的文件。如果你拥有系统帐户系统、资源和应用程序的所有部分,那么你的资源所有者密码流应该是安全的。

这是一个简单得多的流程,但也有一些缺点。就像你将无法与其他第三方或企业系统联合一样,你也无法从一次登录中受益。如果这两者都不适用,请继续使用资源所有者密码流。

你可以在这里找到一个很好的治疗方法:https://auth0.com/blog/oauth-2-best-practices-for-native-apps/

相关内容

最新更新