假设我们有授权服务器资源服务器,也是一个移动应用程序 . 所有应用程序都是由同一家公司开发的(例如所有谷歌服务官方移动应用程序) .

根据我的理解,移动应用应该使用Oauth2资源所有者密码凭证流,我是否正确? This is an article支持我的理解 . 根据Oauth2 spec,它似乎不是正确的方法 . 那么正确的方法是什么?这是authorization code赠款流程吗?在那种情况下,应该如何应对重定向? (有一些方法,但不离开应用程序的最佳方式是什么?)

此外,我需要在移动应用程序中使用本机登录屏幕,资源所有者需要输入用户名/密码 . 可以通过授权代码流完成吗?怎么样?

如果我对资源所有者凭据流是正确的,我们如何在没有客户端秘密嵌入应用程序的情况下在 Spring 季实现它?

以下是在spring中通过资源所有者密码凭据获取令牌所需的方法 .

curl -X POST --user 'trusted-client:client-secret' -d 'grant_type=password&username=test&password=123' http://localhost:8080/oauth/token

在这里,我们需要在应用程序中拥有客户机密码(这是不安全的),this approach工作?假设后来我们可能有不同的客户端,自定义身份验证提供程序如何区分这两者?任何答案都会很棒 . 谢谢 .