Я пытаюсь обновить существующую логику, обеспечивающую доступ к библиотеке документов SharePoint через PnPCoreSDKClient/pnpContexts.
Все модульные тесты пройдены успешно. но теперь мне нужно подключиться вживую. Поэтому я добавляю/хочу добавить логику для аутентификации через регистрацию приложения (идентификатор клиента, секрет клиента и идентификатор клиента)
Код:
Код: Выделить всё
using System;
using PnP.Core.Services;
using System.Threading.Tasks;
namespace Widgets.CopyFileClass
{
public interface IPnPCoreSDKClient
{
Task GetPnPContextAsync(string siteUrl);
}
public class PnPCoreSDKClient : IPnPCoreSDKClient
{
private readonly IPnPContextFactory _contextFactory;
public PnPCoreSDKClient(IPnPContextFactory contextFactory)
{
_contextFactory = contextFactory;
}
public async Task GetPnPContextAsync(string siteUrl)
{
try
{
// Attempt to create a URI and fetch a PnPContext
var uri = new Uri(siteUrl);
return await _contextFactory.CreateAsync(uri);
}
catch (UriFormatException ex)
{
throw new ArgumentException("Provided site URL is not a valid URL.", ex);
}
catch (Exception ex)
{
throw new ApplicationException("An error occurred while trying to obtain a PnPContext.", ex);
}
}
}
}
Я нашел эту статью https://pnp.github.io/pnpcore/ api/PnP.Core.Auth.OAuthAuthenticationProvider.html
Кажется, он предоставляет TenantId и CLientId. Но никакого клиентского секрета. Так что я предполагаю, что это не тот класс, который стоит использовать.
Может кто-нибудь указать мне правильное направление?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/785 ... pnpcontext