@@ -1206,17 +1206,17 @@ <h2 id="setup-connection-to-azure">Setup connection to Azure</h2>
1206
1206
< span class ="normal "> 8</ span >
1207
1207
< span class ="normal "> 9</ span >
1208
1208
< span class ="normal "> 10</ span >
1209
- < span class ="normal "> 11</ span > </ pre > </ div > </ td > < td class ="code "> < div class ="highlight "> < pre > < span > </ span > < code > < span class ="k "> private</ span > < span class =" w " > </ span > < span class ="n "> X509Certificate2</ span > < span class =" w " > </ span > < span class ="nf "> GetCertificate</ span > < span class ="p "> ()</ span > < span class =" w " > </ span >
1210
- < span class ="p "> {</ span > < span class =" w " > </ span >
1211
- < span class =" w " > </ span > < span class ="kt "> string</ span > < span class =" w " > </ span > < span class ="n "> secretName</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="s "> "MyCert"</ span > < span class ="p "> ;</ span > < span class =" w " > </ span > < span class ="c1 "> // Name of the certificate created before</ span >
1212
- < span class =" w " > </ span > < span class ="kt "> string</ span > < span class =" w " > </ span > < span class ="n "> keyVaultName</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="s "> "kvwecommon"</ span > < span class ="p "> ;</ span > < span class =" w " > </ span >
1213
- < span class =" w " > </ span > < span class ="n "> Uri</ span > < span class =" w " > </ span > < span class ="n "> keyVaultUri</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="k "> new</ span > < span class =" w " > </ span > < span class ="n "> Uri</ span > < span class ="p "> (</ span > < span class ="s "> $"https://{keyVaultName}.vault.azure.net/"</ span > < span class ="p "> );</ span > < span class =" w " > </ span >
1209
+ < span class ="normal "> 11</ span > </ pre > </ div > </ td > < td class ="code "> < div class ="highlight "> < pre > < span > </ span > < code > < span class ="k "> private</ span > < span class ="n "> X509Certificate2</ span > < span class ="nf "> GetCertificate</ span > < span class ="p "> ()</ span >
1210
+ < span class ="p "> {</ span >
1211
+ < span class ="kt "> string</ span > < span class ="n "> secretName</ span > < span class ="p "> =</ span > < span class ="s "> "MyCert"</ span > < span class ="p "> ;</ span > < span class ="c1 "> // Name of the certificate created before</ span >
1212
+ < span class ="kt "> string</ span > < span class ="n "> keyVaultName</ span > < span class ="p "> =</ span > < span class ="s "> "kvwecommon"</ span > < span class ="p "> ;</ span >
1213
+ < span class ="n "> Uri</ span > < span class ="n "> keyVaultUri</ span > < span class ="p "> =</ span > < span class ="k "> new</ span > < span class ="n "> Uri</ span > < span class ="p "> (</ span > < span class ="s "> $"https://{keyVaultName}.vault.azure.net/"</ span > < span class ="p "> );</ span >
1214
1214
1215
- < span class =" w " > </ span > < span class ="kt "> var</ span > < span class =" w " > </ span > < span class ="n "> client</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="k "> new</ span > < span class =" w " > </ span > < span class ="n "> SecretClient</ span > < span class ="p "> (</ span > < span class ="n "> keyVaultUri</ span > < span class ="p "> ,</ span > < span class =" w " > </ span > < span class ="k "> new</ span > < span class =" w " > </ span > < span class ="n "> DefaultAzureCredential</ span > < span class ="p "> ());</ span > < span class =" w " > </ span >
1216
- < span class =" w " > </ span > < span class ="n "> KeyVaultSecret</ span > < span class =" w " > </ span > < span class ="n "> secret</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="n "> client</ span > < span class ="p "> .</ span > < span class ="n "> GetSecret</ span > < span class ="p "> (</ span > < span class ="n "> secretName</ span > < span class ="p "> );</ span > < span class =" w " > </ span >
1215
+ < span class ="kt "> var</ span > < span class ="n "> client</ span > < span class ="p "> =</ span > < span class ="k "> new</ span > < span class ="n "> SecretClient</ span > < span class ="p "> (</ span > < span class ="n "> keyVaultUri</ span > < span class ="p "> ,</ span > < span class ="k "> new</ span > < span class ="n "> DefaultAzureCredential</ span > < span class ="p "> ());</ span >
1216
+ < span class ="n "> KeyVaultSecret</ span > < span class ="n "> secret</ span > < span class ="p "> =</ span > < span class ="n "> client</ span > < span class ="p "> .</ span > < span class ="n "> GetSecret</ span > < span class ="p "> (</ span > < span class ="n "> secretName</ span > < span class ="p "> );</ span >
1217
1217
1218
- < span class =" w " > </ span > < span class ="k "> return</ span > < span class =" w " > </ span > < span class ="k "> new</ span > < span class =" w " > </ span > < span class ="nf "> X509Certificate2</ span > < span class ="p "> (</ span > < span class ="n "> Convert</ span > < span class ="p "> .</ span > < span class ="n "> FromBase64String</ span > < span class ="p "> (</ span > < span class ="n "> secret</ span > < span class ="p "> .</ span > < span class ="n "> Value</ span > < span class ="p "> ),</ span > < span class =" w " > </ span > < span class ="kt "> string</ span > < span class ="p "> .</ span > < span class ="n "> Empty</ span > < span class ="p "> ,</ span > < span class =" w " > </ span > < span class ="n "> X509KeyStorageFlags</ span > < span class ="p "> .</ span > < span class ="n "> MachineKeySet</ span > < span class ="p "> );</ span > < span class =" w " > </ span >
1219
- < span class ="p "> }</ span > < span class =" w " > </ span >
1218
+ < span class ="k "> return</ span > < span class ="k "> new</ span > < span class ="nf "> X509Certificate2</ span > < span class ="p "> (</ span > < span class ="n "> Convert</ span > < span class ="p "> .</ span > < span class ="n "> FromBase64String</ span > < span class ="p "> (</ span > < span class ="n "> secret</ span > < span class ="p "> .</ span > < span class ="n "> Value</ span > < span class ="p "> ),</ span > < span class ="kt "> string</ span > < span class ="p "> .</ span > < span class ="n "> Empty</ span > < span class ="p "> ,</ span > < span class ="n "> X509KeyStorageFlags</ span > < span class ="p "> .</ span > < span class ="n "> MachineKeySet</ span > < span class ="p "> );</ span >
1219
+ < span class ="p "> }</ span >
1220
1220
</ code > </ pre > </ div >
1221
1221
</ td > </ tr > </ table >
1222
1222
< h2 id ="setup-connection-to-sharepoint "> Setup connection to SharePoint</ h2 >
@@ -1232,18 +1232,18 @@ <h2 id="setup-connection-to-sharepoint">Setup connection to SharePoint</h2>
1232
1232
< span class ="normal "> 9</ span >
1233
1233
< span class ="normal "> 10</ span >
1234
1234
< span class ="normal "> 11</ span >
1235
- < span class ="normal "> 12</ span > </ pre > </ div > </ td > < td class ="code "> < div class ="highlight "> < pre > < span > </ span > < code > < span class ="k "> private</ span > < span class =" w " > </ span > < span class ="n "> ClientContext</ span > < span class =" w " > </ span > < span class ="nf "> GetAADAppOnlyClientContext</ span > < span class ="p "> (</ span > < span class ="n "> X509Certificate2</ span > < span class =" w " > </ span > < span class ="n "> certificate</ span > < span class ="p "> )</ span > < span class =" w " > </ span >
1236
- < span class ="p "> {</ span > < span class =" w " > </ span >
1237
- < span class =" w " > </ span > < span class ="kt "> string</ span > < span class =" w " > </ span > < span class ="n "> aadApplicationId</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="s "> "SHAREPOINT_AAD_APPLICATION_APP_ID"</ span > < span class ="p "> ;</ span > < span class =" w " > </ span >
1238
- < span class =" w " > </ span > < span class ="kt "> string</ span > < span class =" w " > </ span > < span class ="n "> tenantName</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="s "> "contoso"</ span > < span class ="p "> ;</ span > < span class =" w " > </ span >
1239
- < span class =" w " > </ span > < span class ="kt "> string</ span > < span class =" w " > </ span > < span class ="n "> sharePointUrl</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="s "> $"https://{tenantName}.sharepoint.com/"</ span > < span class ="p "> ;</ span > < span class =" w " > </ span >
1240
- < span class =" w " > </ span > < span class ="c1 "> // If you want to query the User Profile, add "-admin" to the tenantName in the URL</ span >
1241
- < span class =" w " > </ span > < span class ="c1 "> // string sharePointUrl = $"https://{tenantName}-admin.sharepoint.com/";</ span >
1242
-
1243
- < span class =" w " > </ span > < span class ="kt "> string</ span > < span class =" w " > </ span > < span class ="n "> tenant</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="s "> $"{tenantName}.onmicrosoft.com"</ span > < span class ="p "> ;</ span > < span class =" w " > </ span > < span class ="c1 "> // This can also be the Tenant ID (GUID) instead of the Tenant Name (contoso.onmicrosoft.com)</ span >
1244
-
1245
- < span class =" w " > </ span > < span class ="k "> return</ span > < span class =" w " > </ span > < span class ="k "> new</ span > < span class =" w " > </ span > < span class ="n "> OfficeDevPnP</ span > < span class ="p "> .</ span > < span class ="n "> Core</ span > < span class ="p "> .</ span > < span class ="n "> AuthenticationManager</ span > < span class ="p "> ().</ span > < span class ="n "> GetAzureADAppOnlyAuthenticatedContext</ span > < span class ="p "> (</ span > < span class ="n "> sharePointUrl</ span > < span class ="p "> ,</ span > < span class =" w " > </ span > < span class ="n "> aadApplicationId</ span > < span class ="p "> ,</ span > < span class =" w " > </ span > < span class ="n "> tenant</ span > < span class ="p "> ,</ span > < span class =" w " > </ span > < span class ="n "> certificate</ span > < span class ="p "> );</ span > < span class =" w " > </ span >
1246
- < span class ="p "> }</ span > < span class =" w " > </ span >
1235
+ < span class ="normal "> 12</ span > </ pre > </ div > </ td > < td class ="code "> < div class ="highlight "> < pre > < span > </ span > < code > < span class ="k "> private</ span > < span class ="n "> ClientContext</ span > < span class ="nf "> GetAADAppOnlyClientContext</ span > < span class ="p "> (</ span > < span class ="n "> X509Certificate2</ span > < span class ="n "> certificate</ span > < span class ="p "> )</ span >
1236
+ < span class ="p "> {</ span >
1237
+ < span class ="kt "> string</ span > < span class ="n "> aadApplicationId</ span > < span class ="p "> =</ span > < span class ="s "> "SHAREPOINT_AAD_APPLICATION_APP_ID"</ span > < span class ="p "> ;</ span >
1238
+ < span class ="kt "> string</ span > < span class ="n "> tenantName</ span > < span class ="p "> =</ span > < span class ="s "> "contoso"</ span > < span class ="p "> ;</ span >
1239
+ < span class ="kt "> string</ span > < span class ="n "> sharePointUrl</ span > < span class ="p "> =</ span > < span class ="s "> $"https://{tenantName}.sharepoint.com/"</ span > < span class ="p "> ;</ span >
1240
+ < span class ="c1 "> // If you want to query the User Profile, add "-admin" to the tenantName in the URL</ span >
1241
+ < span class ="c1 "> // string sharePointUrl = $"https://{tenantName}-admin.sharepoint.com/";</ span >
1242
+
1243
+ < span class ="kt "> string</ span > < span class ="n "> tenant</ span > < span class ="p "> =</ span > < span class ="s "> $"{tenantName}.onmicrosoft.com"</ span > < span class ="p "> ;</ span > < span class ="c1 "> // This can also be the Tenant ID (GUID) instead of the Tenant Name (contoso.onmicrosoft.com)</ span >
1244
+
1245
+ < span class ="k "> return</ span > < span class ="k "> new</ span > < span class ="n "> OfficeDevPnP</ span > < span class ="p "> .</ span > < span class ="n "> Core</ span > < span class ="p "> .</ span > < span class ="n "> AuthenticationManager</ span > < span class ="p "> ().</ span > < span class ="n "> GetAzureADAppOnlyAuthenticatedContext</ span > < span class ="p "> (</ span > < span class ="n "> sharePointUrl</ span > < span class ="p "> ,</ span > < span class ="n "> aadApplicationId</ span > < span class ="p "> ,</ span > < span class ="n "> tenant</ span > < span class ="p "> ,</ span > < span class ="n "> certificate</ span > < span class ="p "> );</ span >
1246
+ < span class ="p "> }</ span >
1247
1247
</ code > </ pre > </ div >
1248
1248
</ td > </ tr > </ table >
1249
1249
< h2 id ="get-web-info "> Get Web Info</ h2 >
@@ -1270,20 +1270,20 @@ <h2 id="get-web-info">Get Web Info</h2>
1270
1270
< span class ="normal "> 19</ span > </ pre > </ div > </ td > < td class ="code "> < div class ="highlight "> < pre > < span > </ span > < code > < span class ="c1 "> // ...</ span >
1271
1271
1272
1272
< span class ="c1 "> // Example in the "HomeController" class, adding a property to the ViewBag</ span >
1273
- < span class ="k "> public</ span > < span class =" w " > </ span > < span class ="n "> ActionResult</ span > < span class =" w " > </ span > < span class ="nf "> Index</ span > < span class ="p "> ()</ span > < span class =" w " > </ span >
1274
- < span class ="p "> {</ span > < span class =" w " > </ span >
1275
- < span class =" w " > </ span > < span class ="n "> X509Certificate2</ span > < span class =" w " > </ span > < span class ="n "> certificate</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="n "> GetCertificate</ span > < span class ="p "> ();</ span > < span class =" w " > </ span >
1273
+ < span class ="k "> public</ span > < span class ="n "> ActionResult</ span > < span class ="nf "> Index</ span > < span class ="p "> ()</ span >
1274
+ < span class ="p "> {</ span >
1275
+ < span class ="n "> X509Certificate2</ span > < span class ="n "> certificate</ span > < span class ="p "> =</ span > < span class ="n "> GetCertificate</ span > < span class ="p "> ();</ span >
1276
1276
1277
- < span class =" w " > </ span > < span class ="n "> ClientContext</ span > < span class =" w " > </ span > < span class ="n "> ctx</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="n "> GetAADAppOnlyClientContext</ span > < span class ="p "> (</ span > < span class ="n "> certificate</ span > < span class ="p "> );</ span > < span class =" w " > </ span >
1277
+ < span class ="n "> ClientContext</ span > < span class ="n "> ctx</ span > < span class ="p "> =</ span > < span class ="n "> GetAADAppOnlyClientContext</ span > < span class ="p "> (</ span > < span class ="n "> certificate</ span > < span class ="p "> );</ span >
1278
1278
1279
- < span class =" w " > </ span > < span class ="n "> Web</ span > < span class =" w " > </ span > < span class ="n "> currentWeb</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="n "> ctx</ span > < span class ="p "> .</ span > < span class ="n "> Web</ span > < span class ="p "> ;</ span > < span class =" w " > </ span >
1280
- < span class =" w " > </ span > < span class ="n "> ctx</ span > < span class ="p "> .</ span > < span class ="n "> Load</ span > < span class ="p "> (</ span > < span class ="n "> currentWeb</ span > < span class ="p "> );</ span > < span class =" w " > </ span >
1281
- < span class =" w " > </ span > < span class ="n "> ctx</ span > < span class ="p "> .</ span > < span class ="n "> ExecuteQuery</ span > < span class ="p "> ();</ span > < span class =" w " > </ span >
1279
+ < span class ="n "> Web</ span > < span class ="n "> currentWeb</ span > < span class ="p "> =</ span > < span class ="n "> ctx</ span > < span class ="p "> .</ span > < span class ="n "> Web</ span > < span class ="p "> ;</ span >
1280
+ < span class ="n "> ctx</ span > < span class ="p "> .</ span > < span class ="n "> Load</ span > < span class ="p "> (</ span > < span class ="n "> currentWeb</ span > < span class ="p "> );</ span >
1281
+ < span class ="n "> ctx</ span > < span class ="p "> .</ span > < span class ="n "> ExecuteQuery</ span > < span class ="p "> ();</ span >
1282
1282
1283
- < span class =" w " > </ span > < span class ="n "> ViewBag</ span > < span class ="p "> .</ span > < span class ="n "> WebTitle</ span > < span class =" w " > </ span > < span class ="p "> =</ span > < span class =" w " > </ span > < span class ="n "> currentWeb</ span > < span class ="p "> .</ span > < span class ="n "> Title</ span > < span class ="p "> ;</ span > < span class =" w " > </ span >
1283
+ < span class ="n "> ViewBag</ span > < span class ="p "> .</ span > < span class ="n "> WebTitle</ span > < span class ="p "> =</ span > < span class ="n "> currentWeb</ span > < span class ="p "> .</ span > < span class ="n "> Title</ span > < span class ="p "> ;</ span >
1284
1284
1285
- < span class =" w " > </ span > < span class ="k "> return</ span > < span class =" w " > </ span > < span class ="nf "> View</ span > < span class ="p "> ();</ span > < span class =" w " > </ span >
1286
- < span class ="p "> }</ span > < span class =" w " > </ span >
1285
+ < span class ="k "> return</ span > < span class ="nf "> View</ span > < span class ="p "> ();</ span >
1286
+ < span class ="p "> }</ span >
1287
1287
1288
1288
< span class ="c1 "> // ...</ span >
1289
1289
</ code > </ pre > </ div >
@@ -1306,7 +1306,7 @@ <h2 id="get-web-info">Get Web Info</h2>
1306
1306
Title of the SP Web : @ViewBag.WebTitle
1307
1307
< span class ="p "> </</ span > < span class ="nt "> div</ span > < span class ="p "> ></ span >
1308
1308
1309
- < span class ="cm "> <!--...--></ span >
1309
+ < span class ="c "> <!--...--></ span >
1310
1310
</ code > </ pre > </ div >
1311
1311
</ td > </ tr > </ table >
1312
1312
</ div >
0 commit comments