Update the documentation pages

This commit is contained in:
OpenIddict Bot
2023-05-02 19:58:39 +00:00
parent 55127dcfe7
commit ea52e730fc
160 changed files with 9194 additions and 5001 deletions

View File

@@ -2,15 +2,15 @@
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>OpenIddict </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="OpenIddict ">
<meta name="generator" content="docfx ">
<meta name="generator" content="docfx 2.56.7.0">
<link rel="shortcut icon" href="images/favicon.ico">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/night-owl.min.css">
@@ -19,9 +19,9 @@
<link rel="stylesheet" href="styles/main.css">
<meta property="docfx:navrel" content="toc.html">
<meta property="docfx:tocrel" content="toc.html">
</head>
<body>
@@ -31,7 +31,7 @@
<svg name="Hamburger" style="vertical-align: middle;" width="24" height="24" viewbox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M20 6H4V9H20V6ZM4 10.999H20V13.999H4V10.999ZM4 15.999H20V18.999H4V15.999Z"></path></svg>
</a>
<a class="brand" href="index.html">
<img src="images/logo.png" alt="OpenIddict" class="logomark">
<span class="brand-title">OpenIddict</span>
@@ -46,19 +46,19 @@
<div class="sidebar">
<div>
<a class="brand" href="index.html">
<img src="images/logo.png" alt="OpenIddict" class="logomark">
<span class="brand-title">OpenIddict</span>
</a>
<div id="navbar">
</div>
</div>
@@ -68,8 +68,8 @@
</div>
<div class="footer">
<span>Generated by <strong>DocFX</strong></span>
<span>Generated by <strong>DocFX</strong></span>
</div>
</nav>
@@ -77,7 +77,7 @@
<div role="main" class="hide-when-search">
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
@@ -89,9 +89,9 @@
<article class="content wrap" id="_content" data-uid="">
<h1 id="openiddict">OpenIddict</h1>
<h3 id="the-openid-connect-stack-youll-be-addicted-to">The OpenID Connect stack you'll be addicted to.</h3>
<h3 id="the-openid-connect-stack-youll-be-addicted-to">The OpenID Connect stack you&#39;ll be addicted to.</h3>
<p><a href="https://github.com/openiddict/openiddict-core/actions?query=workflow%3Abuild+branch%3Adev+event%3Apush"><img src="https://github.com/openiddict/openiddict-core/workflows/build/badge.svg?branch=dev&amp;event=push" alt="Build status"></a></p>
<h2 id="whats-openiddict">What's OpenIddict?</h2>
<h2 id="whats-openiddict">What&#39;s OpenIddict?</h2>
<p>OpenIddict aims at providing a <strong>versatile solution</strong> to implement <strong>OpenID Connect client, server and token validation support in any ASP.NET Core 2.1 (and higher) application</strong>.
<strong>ASP.NET 4.6.1 (and higher) applications are also fully supported thanks to a native Microsoft.Owin 4.2 integration</strong>.</p>
<p>OpenIddict fully supports the <strong><a href="http://openid.net/specs/openid-connect-core-1_0.html">code/implicit/hybrid flows</a></strong>,
@@ -120,22 +120,22 @@ can be found in the <a href="https://github.com/openiddict/openiddict-samples">d
<tr>
<td>ASP.NET Core 2.1</td>
<td>.NET Framework 4.6.1</td>
<td>✔️ </td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span> <span class="emoji" shortcode="information_source"></span></td>
</tr>
<tr>
<td>ASP.NET Core 2.1</td>
<td>.NET Framework 4.7.2</td>
<td>✔️</td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span></td>
</tr>
<tr>
<td>ASP.NET Core 2.1</td>
<td>.NET Framework 4.8</td>
<td>✔️</td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span></td>
</tr>
<tr>
<td>ASP.NET Core 2.1</td>
<td>.NET Core 2.1</td>
<td></td>
<td><span class="emoji" shortcode="exclamation"></span></td>
</tr>
<tr>
<td></td>
@@ -145,7 +145,7 @@ can be found in the <a href="https://github.com/openiddict/openiddict-samples">d
<tr>
<td>ASP.NET Core 3.1</td>
<td>.NET Core 3.1</td>
<td>✔️</td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span></td>
</tr>
<tr>
<td></td>
@@ -155,17 +155,17 @@ can be found in the <a href="https://github.com/openiddict/openiddict-samples">d
<tr>
<td>ASP.NET Core 5.0</td>
<td>.NET 5.0</td>
<td></td>
<td><span class="emoji" shortcode="exclamation"></span></td>
</tr>
<tr>
<td>ASP.NET Core 6.0</td>
<td>.NET 6.0</td>
<td>✔️</td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span></td>
</tr>
<tr>
<td>ASP.NET Core 7.0</td>
<td>.NET 7.0</td>
<td>✔️</td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span></td>
</tr>
<tr>
<td></td>
@@ -175,24 +175,24 @@ can be found in the <a href="https://github.com/openiddict/openiddict-samples">d
<tr>
<td>Microsoft.Owin 4.2</td>
<td>.NET Framework 4.6.1</td>
<td>✔️ </td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span> <span class="emoji" shortcode="information_source"></span></td>
</tr>
<tr>
<td>Microsoft.Owin 4.2</td>
<td>.NET Framework 4.7.2</td>
<td>✔️</td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span></td>
</tr>
<tr>
<td>Microsoft.Owin 4.2</td>
<td>.NET Framework 4.8</td>
<td>✔️</td>
<td><span class="emoji" shortcode="heavy_check_mark">✔️</span></td>
</tr>
</tbody>
</table>
<p> <strong>Note: ASP.NET Core 2.1 on .NET Core 2.1 and ASP.NET Core 5.0 on .NET 5.0 are no longer supported by Microsoft. While OpenIddict 4.x can still be
<p><span class="emoji" shortcode="exclamation"></span> <strong>Note: ASP.NET Core 2.1 on .NET Core 2.1 and ASP.NET Core 5.0 on .NET 5.0 are no longer supported by Microsoft. While OpenIddict 4.x can still be
used on .NET Core 2.1 thanks to its .NET Standard 2.0 compatibility, users are strongly encouraged to migrate to ASP.NET Core/.NET 6.0</strong>.
ASP.NET Core 2.1 on .NET Framework 4.6.1 (and higher) is still fully supported.</p>
<p> <strong>Note: the following features are not available when targeting .NET Framework 4.6.1</strong>:</p>
<p><span class="emoji" shortcode="information_source"></span> <strong>Note: the following features are not available when targeting .NET Framework 4.6.1</strong>:</p>
<ul>
<li>X.509 development encryption/signing certificates: calling <code>AddDevelopmentEncryptionCertificate()</code> or <code>AddDevelopmentSigningCertificate()</code>
will result in a <code>PlatformNotSupportedException</code> being thrown at runtime if no valid development certificate can be found and a new one must be generated.</li>
@@ -203,16 +203,15 @@ with an ECDSA certificate/key will always result in a <code>PlatformNotSupported
<h2 id="certification">Certification</h2>
<p>Unlike many other identity providers, <strong>OpenIddict is not a turnkey solution but a framework that requires writing custom code</strong>
to be operational (typically, at least an authorization controller), making it a poor candidate for the certification program.</p>
<p>While a reference implementation could be submitted as-is, <strong>this wouldn't guarantee that implementations deployed by OpenIddict users would be standard-compliant.</strong></p>
<p>Instead, <strong>developers are encouraged to execute the conformance tests against their own deployment</strong> once they've implemented their own logic.</p>
<blockquote>
<p>The samples repository contains <a href="https://github.com/openiddict/openiddict-samples/tree/dev/samples/Contruum/Contruum.Server">a dedicated sample</a> specially designed to be used
<p>While a reference implementation could be submitted as-is, <strong>this wouldn&#39;t guarantee that implementations deployed by OpenIddict users would be standard-compliant.</strong></p>
<p>Instead, <strong>developers are encouraged to execute the conformance tests against their own deployment</strong> once they&#39;ve implemented their own logic.</p>
<blockquote><p>The samples repository contains <a href="https://github.com/openiddict/openiddict-samples/tree/dev/samples/Contruum/Contruum.Server">a dedicated sample</a> specially designed to be used
with the OpenID Connect Provider Certification tool and demonstrate that OpenIddict can be easily used in a certified implementation. To allow executing the certification tests
as fast as possible, that sample doesn't include any membership or consent feature (two hardcoded identities are proposed for tests that require switching between identities).</p>
as fast as possible, that sample doesn&#39;t include any membership or consent feature (two hardcoded identities are proposed for tests that require switching between identities).</p>
</blockquote>
<hr>
<h2 id="resources">Resources</h2>
<p><strong>Looking for additional resources to help you get started with OpenIddict?</strong> Don't miss these interesting blog posts:</p>
<p><strong>Looking for additional resources to help you get started with OpenIddict?</strong> Don&#39;t miss these interesting blog posts:</p>
<ul>
<li><strong><a href="https://kevinchalet.com/2022/06/22/openiddict-4-0-preview1-is-out/">OpenIddict 4.0 preview1 is out</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers/issues/694">Introducing the OpenIddict-powered providers</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
@@ -221,14 +220,14 @@ as fast as possible, that sample doesn't include any membership or consent featu
<li><strong><a href="https://virtocommerce.com/blog/how-to-secure-aspnet-core-applications-with-openiddict-using-virto-commerce-platform">How to Secure ASP.NET Core Applications with OpenIddict Using Virto Commerce B2B eCommerce: Tech Case Study</a></strong> by <a href="https://virtocommerce.com/">Virto Commerce</a></li>
<li><strong><a href="https://kevinchalet.com/2020/12/23/openiddict-3-0-general-availability/">OpenIddict 3.0 general availability</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://dev.to/robinvanderknaap/setting-up-an-authorization-server-with-openiddict-part-i-introduction-4jid">Setting up an Authorization Server with OpenIddict</a></strong> by <a href="https://dev.to/robinvanderknaap">Robin van der Knaap</a></li>
<li><strong><a href="https://kevinchalet.com/2020/11/17/introducing-openiddict-3-0-s-first-release-candidate-version/">Introducing OpenIddict 3.0's first release candidate version</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/11/17/introducing-openiddict-3-0-s-first-release-candidate-version/">Introducing OpenIddict 3.0&#39;s first release candidate version</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/10/27/openiddict-3-0-beta6-is-out/">OpenIddict 3.0 beta6 is out</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/10/02/introducing-quartz-net-support-and-new-languages-in-openiddict-3-0-beta4/">Introducing Quartz.NET support and new languages in OpenIddict 3.0 beta4</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/08/03/introducing-localization-support-in-openiddict-3-0-beta3/">Introducing localization support in OpenIddict 3.0 beta3</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/07/08/openiddict-3-0-beta2-is-out/">OpenIddict 3.0 beta2 is out</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/06/11/introducing-openiddict-3-0-beta1/">Introducing OpenIddict 3.0 beta1</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/03/03/adding-openiddict-3-0-to-an-owin-application/">Adding OpenIddict 3.0 to an OWIN application</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/02/18/creating-an-openid-connect-server-proxy-with-openiddict-3-0-s-degraded-mode/">Creating an OpenID Connect server proxy with OpenIddict 3.0's degraded mode</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
<li><strong><a href="https://kevinchalet.com/2020/02/18/creating-an-openid-connect-server-proxy-with-openiddict-3-0-s-degraded-mode/">Creating an OpenID Connect server proxy with OpenIddict 3.0&#39;s degraded mode</a></strong> by <a href="https://github.com/kevinchalet">Kévin Chalet</a></li>
</ul>
<p><strong>OpenIddict-based projects maintained by third parties</strong>:</p>
<ul>
@@ -244,7 +243,7 @@ You should receive a response within 24 hours. If for some reason you do not, pl
<hr>
<h2 id="support">Support</h2>
<p>If you need support, please make sure you <a href="https://github.com/sponsors/kevinchalet">sponsor the project</a> before creating a GitHub ticket.
If you're not a sponsor, you can post your questions on Gitter or StackOverflow:</p>
If you&#39;re not a sponsor, you can post your questions on Gitter or StackOverflow:</p>
<ul>
<li><strong>Gitter: <a href="https://gitter.im/openiddict/openiddict-core">https://gitter.im/openiddict/openiddict-core</a></strong></li>
<li><strong>StackOverflow: <a href="https://stackoverflow.com/questions/tagged/openiddict">https://stackoverflow.com/questions/tagged/openiddict</a></strong></li>
@@ -260,13 +259,12 @@ To reference the OpenIddict MyGet feed, <strong>create a <code>NuGet.config</cod
&lt;add key=&quot;openiddict&quot; value=&quot;https://www.myget.org/F/openiddict/api/v3/index.json&quot; /&gt;
&lt;/packageSources&gt;
&lt;/configuration&gt;
</code></pre>
<hr>
</code></pre><hr>
<h2 id="contributors">Contributors</h2>
<p><strong>OpenIddict</strong> is actively maintained by <strong><a href="https://github.com/kevinchalet">Kévin Chalet</a></strong>. Contributions are welcome and can be submitted using pull requests.</p>
<p><strong>Special thanks to <a href="https://github.com/sponsors/kevinchalet#sponsors">our sponsors</a> for their incredible support</strong>:</p>
<p><a href="https://volosoft.com/"><img src="https://volosoft.com/assets/logos/volosoft-logo-dark.svg" width="500px" alt="Volosoft logo"></a></p>
<!-- sponsors --><a href="https://github.com/sebastienros"><img src="https://github.com/sebastienros.png" width="60px" alt="Sébastien Ros"></a><a href="https://github.com/schmitch"><img src="https://github.com/schmitch.png" width="60px" alt="Schmitt Christian"></a><a href="https://github.com/cryo75"><img src="https://github.com/cryo75.png" width="60px" alt=""></a><a href="https://github.com/florianwachs"><img src="https://github.com/florianwachs.png" width="60px" alt="Florian Wachs"></a><a href="https://github.com/SebastianStehle"><img src="https://github.com/SebastianStehle.png" width="60px" alt="Sebastian Stehle"></a><a href="https://github.com/communicatie-cockpit"><img src="https://github.com/communicatie-cockpit.png" width="60px" alt="Communicatie Cockpit"></a><a href="https://github.com/KeithT"><img src="https://github.com/KeithT.png" width="60px" alt=""></a><a href="https://github.com/Skrypt"><img src="https://github.com/Skrypt.png" width="60px" alt="Jasmin Savard"></a><a href="https://github.com/ThomasBjallas"><img src="https://github.com/ThomasBjallas.png" width="60px" alt="Thomas"></a><a href="https://github.com/mcalasa"><img src="https://github.com/mcalasa.png" width="60px" alt="Michael Calasanz"></a><a href="https://github.com/feededit"><img src="https://github.com/feededit.png" width="60px" alt=""></a><a href="https://github.com/DigitalOpsDev"><img src="https://github.com/DigitalOpsDev.png" width="60px" alt="DigitalOps Co. Ltd."></a><a href="https://github.com/jacojvv-dev"><img src="https://github.com/jacojvv-dev.png" width="60px" alt="Jaco Jansen van Vuuren"></a><a href="https://github.com/EYERIDE-Fleet-Management-System"><img src="https://github.com/EYERIDE-Fleet-Management-System.png" width="60px" alt="EYERIDE Fleet Management System"></a><a href="https://github.com/salimz1"><img src="https://github.com/salimz1.png" width="60px" alt=""></a><a href="https://github.com/hypdeb"><img src="https://github.com/hypdeb.png" width="60px" alt="Julien Debache"></a><a href="https://github.com/StanlyLife"><img src="https://github.com/StanlyLife.png" width="60px" alt="Stian Håve"></a><a href="https://github.com/ravindUwU"><img src="https://github.com/ravindUwU.png" width="60px" alt="Ravindu Liyanapathirana"></a><a href="https://github.com/dlandi"><img src="https://github.com/dlandi.png" width="60px" alt="HieronymusBlaze"></a><a href="https://github.com/ahanoff"><img src="https://github.com/ahanoff.png" width="60px" alt="Akhan Zhakiyanov"></a><a href="https://github.com/InFarAday"><img src="https://github.com/InFarAday.png" width="60px" alt="Corentin BROSSUTTI"></a><a href="https://github.com/rezstream"><img src="https://github.com/rezstream.png" width="60px" alt="rezStream"></a><a href="https://github.com/matthias-jauernig"><img src="https://github.com/matthias-jauernig.png" width="60px" alt=""></a><a href="https://github.com/blowdart"><img src="https://github.com/blowdart.png" width="60px" alt="Barry Dorrans"></a><a href="https://github.com/devqsrl"><img src="https://github.com/devqsrl.png" width="60px" alt="DevQ S.r.l."></a><a href="https://github.com/dgxhubbard"><img src="https://github.com/dgxhubbard.png" width="60px" alt=""></a><!-- sponsors -->
<p><!-- sponsors --><a href="https://github.com/sebastienros"><img src="https://github.com/sebastienros.png" width="60px" alt="Sébastien Ros"></a><a href="https://github.com/schmitch"><img src="https://github.com/schmitch.png" width="60px" alt="Schmitt Christian"></a><a href="https://github.com/cryo75"><img src="https://github.com/cryo75.png" width="60px" alt=""></a><a href="https://github.com/florianwachs"><img src="https://github.com/florianwachs.png" width="60px" alt="Florian Wachs"></a><a href="https://github.com/SebastianStehle"><img src="https://github.com/SebastianStehle.png" width="60px" alt="Sebastian Stehle"></a><a href="https://github.com/communicatie-cockpit"><img src="https://github.com/communicatie-cockpit.png" width="60px" alt="Communicatie Cockpit"></a><a href="https://github.com/KeithT"><img src="https://github.com/KeithT.png" width="60px" alt=""></a><a href="https://github.com/Skrypt"><img src="https://github.com/Skrypt.png" width="60px" alt="Jasmin Savard"></a><a href="https://github.com/ThomasBjallas"><img src="https://github.com/ThomasBjallas.png" width="60px" alt="Thomas"></a><a href="https://github.com/mcalasa"><img src="https://github.com/mcalasa.png" width="60px" alt="Michael Calasanz"></a><a href="https://github.com/feededit"><img src="https://github.com/feededit.png" width="60px" alt=""></a><a href="https://github.com/DigitalOpsDev"><img src="https://github.com/DigitalOpsDev.png" width="60px" alt="DigitalOps Co. Ltd."></a><a href="https://github.com/jacojvv-dev"><img src="https://github.com/jacojvv-dev.png" width="60px" alt="Jaco Jansen van Vuuren"></a><a href="https://github.com/EYERIDE-Fleet-Management-System"><img src="https://github.com/EYERIDE-Fleet-Management-System.png" width="60px" alt="EYERIDE Fleet Management System"></a><a href="https://github.com/salimz1"><img src="https://github.com/salimz1.png" width="60px" alt=""></a><a href="https://github.com/hypdeb"><img src="https://github.com/hypdeb.png" width="60px" alt="Julien Debache"></a><a href="https://github.com/StanlyLife"><img src="https://github.com/StanlyLife.png" width="60px" alt="Stian Håve"></a><a href="https://github.com/ravindUwU"><img src="https://github.com/ravindUwU.png" width="60px" alt="Ravindu Liyanapathirana"></a><a href="https://github.com/dlandi"><img src="https://github.com/dlandi.png" width="60px" alt="HieronymusBlaze"></a><a href="https://github.com/ahanoff"><img src="https://github.com/ahanoff.png" width="60px" alt="Akhan Zhakiyanov"></a><a href="https://github.com/CorentinBrossutti1"><img src="https://github.com/CorentinBrossutti1.png" width="60px" alt="Corentin BROSSUTTI"></a><a href="https://github.com/matthias-jauernig"><img src="https://github.com/matthias-jauernig.png" width="60px" alt=""></a><a href="https://github.com/blowdart"><img src="https://github.com/blowdart.png" width="60px" alt="Barry Dorrans"></a><a href="https://github.com/devqsrl"><img src="https://github.com/devqsrl.png" width="60px" alt="DevQ S.r.l."></a><a href="https://github.com/dgxhubbard"><img src="https://github.com/dgxhubbard.png" width="60px" alt=""></a><a href="https://github.com/Haraldur-Dadi"><img src="https://github.com/Haraldur-Dadi.png" width="60px" alt="Halli"></a><a href="https://github.com/verdie-g"><img src="https://github.com/verdie-g.png" width="60px" alt="Grégoire"></a><!-- sponsors --></p>
<hr>
<h2 id="license">License</h2>
<p>This project is licensed under the <strong>Apache License</strong>. This means that you can use, modify and distribute it freely.
@@ -277,16 +275,16 @@ See <a href="http://www.apache.org/licenses/LICENSE-2.0.html">http://www.apache.
</main>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js"></script>
<script type="text/javascript" src="styles/jquery.twbsPagination.js"></script>
<script type="text/javascript" src="styles/url.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/anchor-js/anchor.min.js"></script>
<script type="text/javascript" src="styles/docfx.js"></script>
<script type="text/javascript" src="styles/main.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js"></script>
<script type="text/javascript" src="styles/jquery.twbsPagination.js"></script>
<script type="text/javascript" src="styles/url.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/anchor-js/anchor.min.js"></script>
<script type="text/javascript" src="styles/docfx.js"></script>
<script type="text/javascript" src="styles/main.js"></script>
</body>