在过去的一天半里,我一直在研究oauth 2和IdentityServer4,可以说我认为在这种情况下使用的首选方法是 hybrid flow
. 由于移动客户端无法保护 secret
,因此过去似乎是 implicit
. 然后它似乎已经变成了 authorization flow
而没有秘密......(不知道这会怎么样)
我对IONIC和其他跨平台框架的理解是,它们通过将应用程序嵌入到 web view
中来工作,因此这就是我的困惑所在 . 从技术上讲,混合流程建议用于 native
应用程序,而IONIC不是允许您使用的构建 native
应用程序 .
If the recommended flow for native apps is hybrid, but you are using IONIC and hence not building a native app, then does the hybrid flow still apply?
再一次,我的猜测确实如此,因为这将是一个在最终用户的机器上本地运行的应用程序,那么秘密在那里是不安全的 .
这也让我感到困惑,因为还有其他流程,例如: credential based
流,其中必须提供用户名和密码 . 这让我感到困惑,因为这通常是用户希望用户在移动应用中进行身份验证的方式 . 混合流似乎是一个不需要用户名和密码的流程 .
我来自MVC4 Owin背景 .
我的基本架构计划是这样的
-
Auth服务器
-
API
-
IONIC app
1 回答
用于移动设备的离子应用程序应被视为本机应用程序,OIDC移动设备标准推荐的流程是使用Hybrid PKCE .
看看here
如果您想了解如何在IdentityServer4上设置Client for ionic,请查看示例here . 不要介意xamarin只关注IdentityServer部分 .