我有一个Webapi,可以与Sharepoint进行租户级别的操作,例如列出网站集,创建网站等。
Web api方法可以完美运行,但是身份验证机制可能会在将来发生变化,现在创建现代网站集的唯一方法是通过经过身份验证的用户和密码,将来它们可能会启用仅应用程序身份验证来创建现代网站:https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/34236700-ability-to-use-app-only-calls-to-create-modern-sit
我的代码存在问题,即我已经在webapi的每个方法中对身份验证行进行了硬编码,并且我想以webapi类之外的方式抽象该行,以便每当Microsoft实现不同的身份验证机制时,我可以轻松地更改该类,而不是一个一个地更改Web api方法。
[HttpPost]
[Route("")]
//[Route("api/SiteCollections/CreateModernSite")]
public async Task<IHttpActionResult> CreateModernSite([FromBody]NewSiteInformation model)
{
if (ModelState.IsValid)
{
var tenant = await TenantHelper.GetTenantAsync();
using (var context = new OfficeDevPnP.Core.AuthenticationManager().GetSharePointOnlineAuthenticatedContextTenant("https://xxx.sharepoint.com/sites/tesmmodernsite1", "xxx@xxx.onmicrosoft.com", "xxx"))
{
try
{