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

时间:2017-02-08 18:50:02

标签: asp.net-web-api oauth .net-core identityserver4

在过去的一天半里,我一直在研究oauth 2和IdentityServer4,可以说我认为在这种情况下使用的首选方法是implicit。由于移动客户端无法保护secret,因此过去似乎是authorization flow。然后它似乎已经变成了web view而没有秘密......(不知道那会怎样起作用)

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

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

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

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

我来自MVC4 Owin背景。

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

  • 验证服务器
  • API
  • IONIC app

1 个答案:

答案 0 :(得分:2)

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

看看here

如果您想知道如何在IdentityServer4上设置Client for ionic,请检查示例here。不要介意xamarin只关注IdentityServer部分。