Skip to content

Commit cb67dc7

Browse files
1 parent 6603436 commit cb67dc7

File tree

7 files changed

+548
-548
lines changed

7 files changed

+548
-548
lines changed

articles/20201119-connect-to-sharepoint-apppermission-certificate-keyvault/index.html

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,17 +1206,17 @@ <h2 id="setup-connection-to-azure">Setup connection to Azure</h2>
12061206
<span class="normal"> 8</span>
12071207
<span class="normal"> 9</span>
12081208
<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">&quot;MyCert&quot;</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">&quot;kvwecommon&quot;</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">$&quot;https://{keyVaultName}.vault.azure.net/&quot;</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">&quot;MyCert&quot;</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">&quot;kvwecommon&quot;</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">$&quot;https://{keyVaultName}.vault.azure.net/&quot;</span><span class="p">);</span>
12141214

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>
12171217

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>
12201220
</code></pre></div>
12211221
</td></tr></table>
12221222
<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>
12321232
<span class="normal"> 9</span>
12331233
<span class="normal">10</span>
12341234
<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">&quot;SHAREPOINT_AAD_APPLICATION_APP_ID&quot;</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">&quot;contoso&quot;</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">$&quot;https://{tenantName}.sharepoint.com/&quot;</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 &quot;-admin&quot; to the tenantName in the URL</span>
1241-
<span class="w"> </span><span class="c1">// string sharePointUrl = $&quot;https://{tenantName}-admin.sharepoint.com/&quot;;</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">$&quot;{tenantName}.onmicrosoft.com&quot;</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">&quot;SHAREPOINT_AAD_APPLICATION_APP_ID&quot;</span><span class="p">;</span>
1238+
<span class="kt">string</span> <span class="n">tenantName</span> <span class="p">=</span> <span class="s">&quot;contoso&quot;</span><span class="p">;</span>
1239+
<span class="kt">string</span> <span class="n">sharePointUrl</span> <span class="p">=</span> <span class="s">$&quot;https://{tenantName}.sharepoint.com/&quot;</span><span class="p">;</span>
1240+
<span class="c1">// If you want to query the User Profile, add &quot;-admin&quot; to the tenantName in the URL</span>
1241+
<span class="c1">// string sharePointUrl = $&quot;https://{tenantName}-admin.sharepoint.com/&quot;;</span>
1242+
1243+
<span class="kt">string</span> <span class="n">tenant</span> <span class="p">=</span> <span class="s">$&quot;{tenantName}.onmicrosoft.com&quot;</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>
12471247
</code></pre></div>
12481248
</td></tr></table>
12491249
<h2 id="get-web-info">Get Web Info</h2>
@@ -1270,20 +1270,20 @@ <h2 id="get-web-info">Get Web Info</h2>
12701270
<span class="normal">19</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><code><span class="c1">// ...</span>
12711271

12721272
<span class="c1">// Example in the &quot;HomeController&quot; 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>
12761276

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>
12781278

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>
12821282

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>
12841284

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>
12871287

12881288
<span class="c1">// ...</span>
12891289
</code></pre></div>
@@ -1306,7 +1306,7 @@ <h2 id="get-web-info">Get Web Info</h2>
13061306
Title of the SP Web : @ViewBag.WebTitle
13071307
<span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
13081308

1309-
<span class="cm">&lt;!--...--&gt;</span>
1309+
<span class="c">&lt;!--...--&gt;</span>
13101310
</code></pre></div>
13111311
</td></tr></table>
13121312
</div>

0 commit comments

Comments
 (0)