Как я намекал в комментариях, я думаю, что меня немного отвлекло внимание на вещь reverse proxy
. Поправьте меня, если я еще далеко.
Глядя на документацию , насколько я понимаю, единственная разница между publi c и частным репозиторием Prismi c заключается в том, что дополнительный уровень безопасности (читай: ключ API), который вы должны передавать вместе с каждым запросом.
Prismi c контент распространяется через API, который можно настроить как частный. В частном режиме API требует, чтобы клиентское приложение аутентифицировало себя для запроса, извлечения и отображения любого содержимого, хранящегося в хранилище Prismi c.
Чтобы доказать, что мой прокси не нужен, я запустил новое частное репо в Prismi c и собрал быстрое кодовое перо , которое делает простой запрос, используя angular -prismico в качестве примера. Обратите внимание на настройку PrismicProvider
:
PrismicProvider.setApiEndpoint('https://my-instance.cdn.prismic.io/api/v2');
PrismicProvider.setAccessToken('my master key');
PrismicProvider.setClientId('some client id');
PrismicProvider.setClientSecret('some_secret');
(ручка имеет рабочие учетные данные, но это отдельный экземпляр, который я открыл для этого ответа, так что он, скорее всего, скоро истечет)
Это подводит нас к моему первому предложению:
использовать клиентскую библиотеку Angular (либо Angular2 + , либо AngularJs как Вы не указали свою версию). Делайте это , только если вас не волнует утечка ключа API в publi c (это может быть вариант для внутреннего веб-сайта, например) .
Предположим, вы хотите сохранить ключ в секрете
, и это, вероятно, ваш случай. В этой ситуации будет иметь смысл поток, аналогичный моему другому SO-ответу . Короче говоря - вы каким-то образом авторизуете клиентов вашего Angular SPA для вашего приложения, размещенного на IIS, и используете библиотеку Prismi c. net client для выполнения запросов от клиентов.
Чтобы ответить на заданный вами c вопрос: да, можно реализовать прокси-сервер, который вызывает SPA из Prismi c. Вы можете начать с этого несколько официального образца и продолжить.