如何验证对 Piranha.WebApi 的调用?

How to authenticate calls to Piranha.WebApi?

我的任务是通过其他 UI 项目将使用的 API 提供出色的 Piranha CMS。 Piranha 文档说它是为 运行 "headless" 设计的,但没有太多关于如何实现的细节。

我有 Piranha.WebApi 项目 运行ning,它按我的预期提供 JSON 页面内容。目前,它仅在我从浏览器访问它时有效,因为对 WebApi 的任何调用都会提示输入凭据。登录后,WebApi 调用成功,我可以从同一个浏览器进行多次调用。

现在我需要知道其他 UI 代码项目在调用 WebApi 时如何进行身份验证,以便它们可以获得结果。

我查看了我能找到的链接;还没有好的提示:

任何建议都会很有帮助!

Piranha.WebApi 使用声明来验证调用者,但如何将这些声明实际分配给用户取决于您。默认安全实现 Piranha.AspNetCore.Identity 默认配置基于 cookie 的安全性,但如果您仅以无头方式使用您的应用程序,则另一个安全设置可能会有所帮助。

可以在此处找到有关如何配置身份模块的更多信息:

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

另一种选择是只提供您自己的 Api 而不是使用 Piranha.WebApi 包。如果您查看此处 Api 包的代码,您会发现这些端点中完全没有逻辑,它们只是调用已注册的 Piranha.IApi 对象。

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

此致

哈坎