用于IONIC2应用程序和Identity Server4的OAuth流程

Adr*_*ian 6 oauth asp.net-web-api .net-core identityserver4

在过去的一天半里,我一直在研究oauth 2和IdentityServer4,可以说我认为在这种情况下使用的首选方法是hybrid flow.似乎在过去,这是implicit由于移动客户端无法保护secret.然后它似乎变成了authorization flow没有秘密...(不知道这将如何工作)

我对IONIC和其他跨平台框架的理解是它们通过将应用程序嵌入到a中来工作web view,因此这就是我的困惑所在.从技术上讲,混合流程建议用于native应用程序而IONIC不是允许您构建native应用程序的东西.

如果本机应用程序的推荐流程是混合的,但您使用的是IONIC,因此没有构建本机应用程序,那么混合流程是否仍适用?

同样,我的猜测确实如此,因为这将是一个在最终用户的机器上本地运行的应用程序,那么秘密在那里是不安全的.

这也让我更加困惑,因为还有其他流程,例如:credential based必须提供用户名和密码的流程.这让我感到困惑,因为这通常是用户希望用户在移动应用中进行身份验证的方式.混合流似乎是一个不需要用户名和密码的流程.

我来自MVC4 Owin背景.

我的基本架构计划是这样的

  • 验证服务器
  • API
  • IONIC app

小智 2

移动设备的 Ionic 应用程序应被视为本机应用程序,OIDC 移动设备标准推荐的流程是使用 Hybrid+PKCE。

看看这里

如果您想了解如何在 IdentityServer4 上设置 ionic 客户端,请查看此处的示例。不介意 xamarin 只关注 IdentityServer 部分。