我有一个使用Javascript(ReactJS)构建的购物车应用程序。该应用程序将列出所有产品,将其添加到购物车并执行结帐。
当用户到达站点时,JavaScript客户端将调用API以获取产品详情,类别等。当用户单击产品时,API也将提供产品详细信息。
在任何时候我都不需要用户登录到系统。我也无法保持API开放。我们正在使用IdentityServer4来管理API。
我不能在这里使用“客户端证书”流(适用于“机器到机器”流),因为我无法在Javascript中保留机密。
我不能使用隐式流程,因为它适用于用户登录的原理,而我根本不需要用户登录。
我应该使用什么流量?有没有一种方法可以更改隐式流以使其工作而无需用户登录?
使用API密钥会更好吗?
任何反馈都会很棒。
答案 0 :(得分:0)
您无法更改隐式流程,这实际上是用户登录流程。
我认为您需要考虑要在此处保护的内容。
您需要允许所有人(匿名)调用某些方法:f.e. GetProduct。 您需要使用诸如checkout之类的登录要求来保护敏感方法。