معرفی
در این مقاله، خواهیم فهمید که چگونه می توانیم شیرپوینت آنلاین را از Azure Function با استفاده از احراز هویت مبتنی بر برنامه متصل کنیم.
قبلاً استفاده از Azure Access Control (ACS) را یاد گرفتیم که در آن شناسه مشتری و مخفی کلاینت را ایجاد میکردیم (از _layouts/15/appregnew.aspx) اما این روش بازنشسته شده است و استفاده از آن توصیه نمیشود و بنابراین در Tenants جدید، دسترسی فقط برنامه ACS به طور پیش فرض غیرفعال است. بنابراین برای غلبه بر این موضوع میتوانیم از احراز هویت مبتنی بر گواهی برای اتصال آنلاین به شیرپوینت استفاده کنیم.
در این مقاله، بخش ها را به دو نیمه تقسیم می کنیم.
- ایجاد گواهی قابل استفاده در Azure Active Directory و Azure Function.
- استفاده از PnP Core برای اتصال به شیرپوینت آنلاین با استفاده از تابع Azure.
بخش 1 - ایجاد گواهی و برنامه Azure AD
اجازه دهید ابتدا بفهمیم که چگونه می توانیم یک گواهی برای اتصال به شیرپوینت تولید کنیم.
مرحله 1
PowerShell را باز کنید و دستور زیر را برای نصب PnP PowerShell اجرا کنید.
(لطفا توجه داشته باشید اگر قبلاً PnP PowerShell را نصب کرده اید، از این مرحله رد شوید).
گام 2
هنگامی که PnP.PowerShell نصب شد، میتوانیم از دستور Register-PnPAzureADApp استفاده کنیم که به ما کمک میکند یک گواهی امضاشده جدید ایجاد کنیم که به یک برنامه Azure AD مرتبط میشود و برای هدف آزمایش نیز در فروشگاه کاربر فعلی نصب میشود. و از این رو توصیه می شود از دستور زیر با اجرای PowerShell به عنوان Administration استفاده کنید
$Tenant="testinglala.onmicrosoft.com"
$CertificateOutDir = ".Certificates"
if (-not ( Test-Path -Path $CertificateOutDir -PathType Container )) {
md $CertificateOutDir
}
$app = Register-PnPAzureADApp -ApplicationName "ConnectingToSharePointFromAzureFunction" -Tenant $Tenant -OutPath $CertificateOutDir `
-CertificatePassword (ConvertTo-SecureString -String $CertificatePassword -AsPlainText -Force) `
-Scopes "SPO.Sites.FullControl.All" `
-Store CurrentUser -DeviceLogin
Write-Host $app.'AzureAppId/ClientId'
Write-Host $app.'Certificate Thumbprint'
لطفاً مقدار رمز عبور را طبق نیاز ما تغییر دهید حتی مقدار نام مستاجر را تغییر دهید.
( توجه