Как аутентифицировать звонки в Piranha.WebApi? - PullRequest
0 голосов
/ 08 апреля 2020

Мне поручено предоставить превосходную CMS Piranha через API, который будут использовать другие проекты пользовательского интерфейса. Документы от Piranha говорят, что он предназначен для этой цели, но не так много подробностей.

У меня запущен проект Piranha.WebApi, и он обслуживает JSON содержимое страниц, как и ожидалось. В настоящее время он работает только тогда, когда я обращаюсь к нему из браузера, потому что любой вызов WebApi запрашивает учетные данные. После входа в систему вызовы WebApi успешно выполняются, и я могу совершать несколько вызовов из одного и того же браузера.

Теперь мне нужно знать, как другие проекты кода пользовательского интерфейса могут аутентифицироваться при вызове WebApi, чтобы они могли получить результаты.

Я просмотрел ссылки, которые смог найти; хороших советов пока нет:

Любые предложения будут очень полезны!

1 Ответ

0 голосов
/ 08 апреля 2020

Пакет Piranha.WebApi использует утверждения для проверки звонящего, но как эти утверждения фактически назначаются пользователю, зависит от вас. Реализация безопасности по умолчанию Piranha.AspNetCore.Identity по умолчанию настраивает безопасность на основе cook ie, но если вы используете ваше приложение только в автономном режиме, возможно, будет полезна другая настройка безопасности.

Дополнительная информация о том, как настроить модуль Identity можно здесь:

https://piranhacms.org/docs/architecture/authentication/identity

Другой вариант - просто предоставить свой собственный Api вместо использования пакета Piranha.WebApi. Если вы посмотрите на код для Api-пакета, то увидите, что в этих конечных точках абсолютно нет логий c, они просто вызывают зарегистрированный объект Piranha.IApi.

https://github.com/PiranhaCMS/piranha.core/blob/master/core/Piranha.WebApi/PageApiController.cs#L45

С наилучшими пожеланиями

Håkan

...