У меня есть приложение для корзины покупок, созданное с использованием Javascript (ReactJS). Приложение будет перечислять продукты, добавлять их в корзину и оформлять заказ.
Когда пользователь приходит на сайт, клиент Javascript вызывает API-интерфейсы для получения списка продуктов, категорий и т. Д. Когда кто-то нажимает на продукт, API-интерфейсы также предоставляют сведения о продукте.
Ни при каких условиях я не требую, чтобы пользователь входил в систему. Я также не могу оставить свой API открытым. Мы используем IdentityServer4 для управления API.
Я не могу использовать поток Client Credentials здесь (который подходит для потоков между компьютерами), потому что я не могу хранить секреты в Javascript.
Я не могу использовать Implicit Flow, потому что он работает на принципале User Login, тогда как мне вообще не нужен User.
Какой поток я должен использовать? Есть ли способ изменить неявный поток для работы, не требуя входа пользователя в систему?
Будет ли лучше использовать API-ключ?
Любой отзыв будет потрясающим.