没有用户登录的Javascript客户端的IdentityServer4隐式流

时间:2018-06-24 21:08:43

标签: oauth-2.0 identityserver4 oidc

我有一个使用Javascript(ReactJS)构建的购物车应用程序。该应用程序将列出所有产品,将其添加到购物车并执行结帐。

当用户到达站点时,JavaScript客户端将调用API以获取产品详情,类别等。当用户单击产品时,API也将提供产品详细信息。

在任何时候我都不需要用户登录到系统。我也无法保持API开放。我们正在使用IdentityServer4来管理API。

我不能在这里使用“客户端证书”流(适用于“机器到机器”流),因为我无法在Javascript中保留机密。

我不能使用隐式流程,因为它适用于用户登录的原理,而我根本不需要用户登录。

我应该使用什么流量?有没有一种方法可以更改隐式流以使其工作而无需用户登录?

使用API​​密钥会更好吗?

任何反馈都会很棒。

1 个答案:

答案 0 :(得分:0)

您无法更改隐式流程,这实际上是用户登录流程。

我认为您需要考虑要在此处保护的内容。

您需要允许所有人(匿名)调用某些方法:f.e. GetProduct。 您需要使用诸如checkout之类的登录要求来保护敏感方法。