From d27a84d2e51d329a2ed208ad0e2540eb88875981 Mon Sep 17 00:00:00 2001 From: Joe DeCock Date: Wed, 17 Apr 2024 11:24:26 -0500 Subject: [PATCH 01/14] Add IdentityModel docs --- IdentityModel/archetypes/default.md | 6 + IdentityModel/cheatsheet.md | 15 + IdentityModel/config.toml | 11 + .../content/aspnetcore/extensibility.md | 106 + .../content/aspnetcore/images/Web.gif | Bin 0 -> 3623003 bytes .../content/aspnetcore/images/Worker.gif | Bin 0 -> 1134314 bytes IdentityModel/content/aspnetcore/overview.md | 28 + IdentityModel/content/aspnetcore/web.md | 136 + IdentityModel/content/aspnetcore/worker.md | 120 + .../content/client/device_authorize.md | 35 + IdentityModel/content/client/discovery.md | 136 + .../content/client/dynamic_registration.md | 48 + IdentityModel/content/client/end_session.md | 37 + IdentityModel/content/client/introspection.md | 36 + IdentityModel/content/client/overview.md | 96 + IdentityModel/content/client/revocation.md | 33 + IdentityModel/content/client/token.md | 146 + IdentityModel/content/client/userinfo.md | 32 + IdentityModel/content/icon.jpg | Bin 0 -> 30299 bytes IdentityModel/content/index.md | 90 + IdentityModel/content/js/overview.md | 11 + IdentityModel/content/misc/base64.md | 27 + IdentityModel/content/misc/constants.md | 20 + IdentityModel/content/misc/epoch_time.md | 26 + IdentityModel/content/misc/request_url.md | 140 + .../content/misc/time_constant_comparison.md | 21 + IdentityModel/content/misc/x509store.md | 25 + IdentityModel/content/native/automatic.md | 27 + IdentityModel/content/native/logging.md | 15 + IdentityModel/content/native/manual.md | 32 + IdentityModel/content/native/overview.md | 18 + IdentityModel/content/native/samples.md | 7 + .../themes/hugo-theme-learn/.editorconfig | 16 + .../themes/hugo-theme-learn/.gitignore | 3 + .../themes/hugo-theme-learn/.grenrc.yml | 25 + .../hugo-theme-learn/archetypes/chapter.md | 13 + .../hugo-theme-learn/archetypes/default.md | 7 + .../themes/hugo-theme-learn/i18n/ar.toml | 26 + .../themes/hugo-theme-learn/i18n/de.toml | 26 + .../themes/hugo-theme-learn/i18n/en.toml | 26 + .../themes/hugo-theme-learn/i18n/es.toml | 26 + .../themes/hugo-theme-learn/i18n/fr.toml | 26 + .../themes/hugo-theme-learn/i18n/hi.toml | 26 + .../themes/hugo-theme-learn/i18n/id.toml | 26 + .../themes/hugo-theme-learn/i18n/ja.toml | 26 + .../themes/hugo-theme-learn/i18n/nl.toml | 26 + .../themes/hugo-theme-learn/i18n/pt.toml | 26 + .../themes/hugo-theme-learn/i18n/ru.toml | 26 + .../themes/hugo-theme-learn/i18n/tr.toml | 26 + .../themes/hugo-theme-learn/i18n/zh-cn.toml | 26 + .../themes/hugo-theme-learn/layouts/404.html | 56 + .../layouts/_default/list.html | 22 + .../layouts/_default/single.html | 12 + .../hugo-theme-learn/layouts/index.html | 31 + .../hugo-theme-learn/layouts/index.json | 12 + .../layouts/partials/custom-comments.html | 3 + .../layouts/partials/custom-footer.html | 5 + .../layouts/partials/custom-header.html | 5 + .../layouts/partials/favicon.html | 1 + .../layouts/partials/footer.html | 77 + .../layouts/partials/header.html | 127 + .../layouts/partials/logo.html | 3 + .../layouts/partials/menu-footer.html | 1 + .../layouts/partials/menu.html | 151 + .../layouts/partials/meta.html | 2 + .../layouts/partials/search.html | 16 + .../layouts/partials/tags.html | 7 + .../layouts/partials/toc.html | 5 + .../layouts/shortcodes/attachments.html | 36 + .../layouts/shortcodes/button.html | 14 + .../layouts/shortcodes/children.html | 101 + .../layouts/shortcodes/expand.html | 17 + .../layouts/shortcodes/mermaid.html | 2 + .../layouts/shortcodes/notice.html | 2 + .../layouts/shortcodes/ref.html | 14 + .../layouts/shortcodes/relref.html | 14 + .../layouts/shortcodes/siteparam.html | 7 + .../static/css/featherlight.min.css | 8 + .../static/css/fontawesome-all.min.css | 1 + .../static/css/hugo-theme.css | 291 + .../hugo-theme-learn/static/css/hybrid.css | 102 + .../jquery-ui-autocomplete-customizations.css | 27 + .../hugo-theme-learn/static/css/nucleus.css | 617 + .../static/css/perfect-scrollbar.min.css | 152 + .../hugo-theme-learn/static/css/syntax.css | 69 + .../hugo-theme-learn/static/css/tags.css | 49 + .../static/css/theme-blue.css | 111 + .../static/css/theme-green.css | 111 + .../hugo-theme-learn/static/css/theme-red.css | 111 + .../hugo-theme-learn/static/css/theme.css | 1636 +++ .../static/fonts/Heebo-Black.woff | Bin 0 -> 22964 bytes .../static/fonts/Heebo-Black.woff2 | Bin 0 -> 17284 bytes .../static/fonts/Heebo-Bold.woff | Bin 0 -> 22900 bytes .../static/fonts/Heebo-Bold.woff2 | Bin 0 -> 17280 bytes .../static/fonts/Heebo-ExtraBold.woff | Bin 0 -> 22980 bytes .../static/fonts/Heebo-ExtraBold.woff2 | Bin 0 -> 17284 bytes .../static/fonts/Heebo-ExtraLight.woff | Bin 0 -> 22660 bytes .../static/fonts/Heebo-ExtraLight.woff2 | Bin 0 -> 16952 bytes .../static/fonts/Heebo-Light.woff | Bin 0 -> 22676 bytes .../static/fonts/Heebo-Light.woff2 | Bin 0 -> 17000 bytes .../static/fonts/Heebo-Medium.woff | Bin 0 -> 22884 bytes .../static/fonts/Heebo-Medium.woff2 | Bin 0 -> 17264 bytes .../static/fonts/Heebo-Regular.woff | Bin 0 -> 22500 bytes .../static/fonts/Heebo-Regular.woff2 | Bin 0 -> 16848 bytes .../static/fonts/Heebo-SemiBold.woff | Bin 0 -> 22892 bytes .../static/fonts/Heebo-SemiBold.woff2 | Bin 0 -> 17192 bytes .../static/fonts/Heebo-Thin.woff | Bin 0 -> 22024 bytes .../static/fonts/Heebo-Thin.woff2 | Bin 0 -> 16416 bytes .../static/fonts/Inconsolata.eot | Bin 0 -> 35620 bytes .../static/fonts/Inconsolata.svg | 1 + .../static/fonts/Inconsolata.ttf | Bin 0 -> 63184 bytes .../static/fonts/Inconsolata.woff | Bin 0 -> 38248 bytes .../Novecentosanswide-Normal-webfont.eot | Bin 0 -> 22446 bytes .../Novecentosanswide-Normal-webfont.svg | 1 + .../Novecentosanswide-Normal-webfont.ttf | Bin 0 -> 56884 bytes .../Novecentosanswide-Normal-webfont.woff | Bin 0 -> 24772 bytes .../Novecentosanswide-Normal-webfont.woff2 | Bin 0 -> 19760 bytes .../Novecentosanswide-UltraLight-webfont.eot | Bin 0 -> 21080 bytes .../Novecentosanswide-UltraLight-webfont.svg | 1 + .../Novecentosanswide-UltraLight-webfont.ttf | Bin 0 -> 55600 bytes .../Novecentosanswide-UltraLight-webfont.woff | Bin 0 -> 23476 bytes ...Novecentosanswide-UltraLight-webfont.woff2 | Bin 0 -> 18716 bytes .../static/fonts/Roboto-Black.woff | Bin 0 -> 94016 bytes .../static/fonts/Roboto-Black.woff2 | Bin 0 -> 66148 bytes .../static/fonts/Roboto-BlackItalic.woff | Bin 0 -> 101560 bytes .../static/fonts/Roboto-BlackItalic.woff2 | Bin 0 -> 73112 bytes .../static/fonts/Roboto-Bold.woff | Bin 0 -> 93700 bytes .../static/fonts/Roboto-Bold.woff2 | Bin 0 -> 65972 bytes .../static/fonts/Roboto-BoldItalic.woff | Bin 0 -> 99360 bytes .../static/fonts/Roboto-BoldItalic.woff2 | Bin 0 -> 71276 bytes .../static/fonts/Roboto-Italic.woff | Bin 0 -> 99060 bytes .../static/fonts/Roboto-Italic.woff2 | Bin 0 -> 71468 bytes .../static/fonts/Roboto-Light.woff | Bin 0 -> 93120 bytes .../static/fonts/Roboto-Light.woff2 | Bin 0 -> 65512 bytes .../static/fonts/Roboto-LightItalic.woff | Bin 0 -> 100716 bytes .../static/fonts/Roboto-LightItalic.woff2 | Bin 0 -> 72212 bytes .../static/fonts/Roboto-Medium.woff | Bin 0 -> 94032 bytes .../static/fonts/Roboto-Medium.woff2 | Bin 0 -> 66792 bytes .../static/fonts/Roboto-MediumItalic.woff | Bin 0 -> 100656 bytes .../static/fonts/Roboto-MediumItalic.woff2 | Bin 0 -> 72420 bytes .../static/fonts/Roboto-Regular.woff | Bin 0 -> 93388 bytes .../static/fonts/Roboto-Regular.woff2 | Bin 0 -> 65916 bytes .../static/fonts/Roboto-Thin.woff | Bin 0 -> 91804 bytes .../static/fonts/Roboto-Thin.woff2 | Bin 0 -> 64416 bytes .../static/fonts/Roboto-ThinItalic.woff | Bin 0 -> 97880 bytes .../static/fonts/Roboto-ThinItalic.woff2 | Bin 0 -> 69664 bytes .../static/fonts/Work_Sans_200.eot | Bin 0 -> 24290 bytes .../static/fonts/Work_Sans_200.svg | 1 + .../static/fonts/Work_Sans_200.ttf | Bin 0 -> 49752 bytes .../static/fonts/Work_Sans_200.woff | Bin 0 -> 25896 bytes .../static/fonts/Work_Sans_200.woff2 | Bin 0 -> 21128 bytes .../static/fonts/Work_Sans_300.eot | Bin 0 -> 24817 bytes .../static/fonts/Work_Sans_300.svg | 1 + .../static/fonts/Work_Sans_300.ttf | Bin 0 -> 50784 bytes .../static/fonts/Work_Sans_300.woff | Bin 0 -> 26392 bytes .../static/fonts/Work_Sans_300.woff2 | Bin 0 -> 21548 bytes .../static/fonts/Work_Sans_500.eot | Bin 0 -> 26481 bytes .../static/fonts/Work_Sans_500.svg | 1 + .../static/fonts/Work_Sans_500.ttf | Bin 0 -> 54232 bytes .../static/fonts/Work_Sans_500.woff | Bin 0 -> 27900 bytes .../static/fonts/Work_Sans_500.woff2 | Bin 0 -> 22884 bytes .../static/fonts/devicon.woff | Bin 0 -> 219748 bytes .../static/images/bg-alt-3.png | Bin 0 -> 53604 bytes .../hugo-theme-learn/static/images/bg.png | Bin 0 -> 192033 bytes .../hugo-theme-learn/static/images/clippy.svg | 1 + .../static/images/favicon.png | Bin 0 -> 608 bytes .../static/images/gopher-404.jpg | Bin 0 -> 206249 bytes .../hugo-theme-learn/static/images/logo.png | Bin 0 -> 4263 bytes .../static/images/meta-docs.png | Bin 0 -> 66930 bytes .../jquery-ui-1.13.2.custom/AUTHORS.txt | 372 + .../jquery-ui-1.13.2.custom/LICENSE.txt | 43 + .../external/jquery/jquery.js | 10881 ++++++++++++++++ .../images/ui-icons_444444_256x240.png | Bin 0 -> 7126 bytes .../images/ui-icons_555555_256x240.png | Bin 0 -> 7110 bytes .../images/ui-icons_777620_256x240.png | Bin 0 -> 4654 bytes .../images/ui-icons_777777_256x240.png | Bin 0 -> 7147 bytes .../images/ui-icons_cc0000_256x240.png | Bin 0 -> 4654 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6523 bytes .../static/jquery-ui-1.13.2.custom/index.html | 347 + .../jquery-ui-1.13.2.custom/jquery-ui.css | 585 + .../jquery-ui-1.13.2.custom/jquery-ui.js | 2717 ++++ .../jquery-ui-1.13.2.custom/jquery-ui.min.css | 7 + .../jquery-ui-1.13.2.custom/jquery-ui.min.js | 6 + .../jquery-ui.structure.css | 156 + .../jquery-ui.structure.min.css | 5 + .../jquery-ui.theme.css | 446 + .../jquery-ui.theme.min.css | 5 + .../jquery-ui-1.13.2.custom/package.json | 74 + .../static/js/clipboard.min.js | 7 + .../static/js/featherlight.min.js | 9 + .../static/js/highlight.pack.js | 6 + .../hugo-theme-learn/static/js/hugo-learn.js | 94 + .../static/js/jquery-3.3.1.min.js | 2 + .../static/js/jquery.sticky.js | 288 + .../hugo-theme-learn/static/js/learn.js | 458 + .../hugo-theme-learn/static/js/lunr.min.js | 6 + .../static/js/modernizr.custom-3.6.0.js | 3 + .../static/js/perfect-scrollbar.jquery.min.js | 2 + .../static/js/perfect-scrollbar.min.js | 2 + .../hugo-theme-learn/static/js/search.js | 108 + .../static/mermaid/mermaid.css | 277 + .../static/mermaid/mermaid.dark.css | 278 + .../static/mermaid/mermaid.forest.css | 356 + .../static/mermaid/mermaid.js | 8 + .../static/webfonts/fa-brands-400.eot | Bin 0 -> 134396 bytes .../static/webfonts/fa-brands-400.svg | 1 + .../static/webfonts/fa-brands-400.ttf | Bin 0 -> 134160 bytes .../static/webfonts/fa-brands-400.woff | Bin 0 -> 87048 bytes .../static/webfonts/fa-brands-400.woff2 | Bin 0 -> 74288 bytes .../static/webfonts/fa-regular-400.eot | Bin 0 -> 40308 bytes .../static/webfonts/fa-regular-400.svg | 1 + .../static/webfonts/fa-regular-400.ttf | Bin 0 -> 40080 bytes .../static/webfonts/fa-regular-400.woff | Bin 0 -> 18164 bytes .../static/webfonts/fa-regular-400.woff2 | Bin 0 -> 14872 bytes .../static/webfonts/fa-solid-900.eot | Bin 0 -> 209012 bytes .../static/webfonts/fa-solid-900.svg | 1 + .../static/webfonts/fa-solid-900.ttf | Bin 0 -> 208792 bytes .../static/webfonts/fa-solid-900.woff | Bin 0 -> 102224 bytes .../static/webfonts/fa-solid-900.woff2 | Bin 0 -> 79100 bytes .../themes/hugo-theme-learn/theme.toml | 21 + .../themes/hugo-theme-learn/wercker.yml | 16 + IdentityModel/tools/similar-names.ps1 | 82 + 222 files changed, 23587 insertions(+) create mode 100644 IdentityModel/archetypes/default.md create mode 100644 IdentityModel/cheatsheet.md create mode 100644 IdentityModel/config.toml create mode 100644 IdentityModel/content/aspnetcore/extensibility.md create mode 100644 IdentityModel/content/aspnetcore/images/Web.gif create mode 100644 IdentityModel/content/aspnetcore/images/Worker.gif create mode 100644 IdentityModel/content/aspnetcore/overview.md create mode 100644 IdentityModel/content/aspnetcore/web.md create mode 100644 IdentityModel/content/aspnetcore/worker.md create mode 100644 IdentityModel/content/client/device_authorize.md create mode 100644 IdentityModel/content/client/discovery.md create mode 100644 IdentityModel/content/client/dynamic_registration.md create mode 100644 IdentityModel/content/client/end_session.md create mode 100644 IdentityModel/content/client/introspection.md create mode 100644 IdentityModel/content/client/overview.md create mode 100644 IdentityModel/content/client/revocation.md create mode 100644 IdentityModel/content/client/token.md create mode 100644 IdentityModel/content/client/userinfo.md create mode 100644 IdentityModel/content/icon.jpg create mode 100644 IdentityModel/content/index.md create mode 100644 IdentityModel/content/js/overview.md create mode 100644 IdentityModel/content/misc/base64.md create mode 100644 IdentityModel/content/misc/constants.md create mode 100644 IdentityModel/content/misc/epoch_time.md create mode 100644 IdentityModel/content/misc/request_url.md create mode 100644 IdentityModel/content/misc/time_constant_comparison.md create mode 100644 IdentityModel/content/misc/x509store.md create mode 100644 IdentityModel/content/native/automatic.md create mode 100644 IdentityModel/content/native/logging.md create mode 100644 IdentityModel/content/native/manual.md create mode 100644 IdentityModel/content/native/overview.md create mode 100644 IdentityModel/content/native/samples.md create mode 100644 IdentityModel/themes/hugo-theme-learn/.editorconfig create mode 100644 IdentityModel/themes/hugo-theme-learn/.gitignore create mode 100644 IdentityModel/themes/hugo-theme-learn/.grenrc.yml create mode 100644 IdentityModel/themes/hugo-theme-learn/archetypes/chapter.md create mode 100644 IdentityModel/themes/hugo-theme-learn/archetypes/default.md create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/ar.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/de.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/en.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/es.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/fr.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/hi.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/id.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/ja.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/nl.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/pt.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/ru.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/tr.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/i18n/zh-cn.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/404.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/_default/list.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/_default/single.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/index.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/index.json create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/custom-comments.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/custom-footer.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/custom-header.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/favicon.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/footer.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/header.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/logo.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/menu-footer.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/menu.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/meta.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/search.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/tags.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/partials/toc.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/attachments.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/button.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/children.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/expand.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/notice.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/ref.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/relref.html create mode 100644 IdentityModel/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/featherlight.min.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/fontawesome-all.min.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/hugo-theme.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/hybrid.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/jquery-ui-autocomplete-customizations.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/nucleus.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/syntax.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/tags.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/theme-blue.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/theme-green.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/theme-red.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/css/theme.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Black.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Black.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Bold.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Bold.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-ExtraBold.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-ExtraBold.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-ExtraLight.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-ExtraLight.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Light.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Light.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Medium.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Medium.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Regular.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Regular.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-SemiBold.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-SemiBold.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Thin.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Heebo-Thin.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Inconsolata.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Inconsolata.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Inconsolata.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Inconsolata.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Black.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Black.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-BlackItalic.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-BlackItalic.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Bold.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Bold.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-BoldItalic.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-BoldItalic.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Italic.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Italic.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Light.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Light.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-LightItalic.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-LightItalic.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Medium.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Medium.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-MediumItalic.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-MediumItalic.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Regular.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Regular.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Thin.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-Thin.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-ThinItalic.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Roboto-ThinItalic.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_500.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/fonts/devicon.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/images/bg-alt-3.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/images/bg.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/images/clippy.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/images/favicon.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/images/gopher-404.jpg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/images/logo.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/images/meta-docs.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/AUTHORS.txt create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/LICENSE.txt create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/external/jquery/jquery.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/images/ui-icons_444444_256x240.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/images/ui-icons_555555_256x240.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/images/ui-icons_777620_256x240.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/images/ui-icons_777777_256x240.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/images/ui-icons_cc0000_256x240.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/images/ui-icons_ffffff_256x240.png create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/index.html create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.min.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.min.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.structure.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.structure.min.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.theme.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/jquery-ui.theme.min.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/jquery-ui-1.13.2.custom/package.json create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/clipboard.min.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/featherlight.min.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/highlight.pack.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/hugo-learn.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/jquery-3.3.1.min.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/jquery.sticky.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/learn.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/lunr.min.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/modernizr.custom-3.6.0.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/js/search.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/mermaid/mermaid.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/mermaid/mermaid.dark.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/mermaid/mermaid.forest.css create mode 100644 IdentityModel/themes/hugo-theme-learn/static/mermaid/mermaid.js create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-brands-400.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-brands-400.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-brands-400.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-regular-400.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-regular-400.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-regular-400.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-solid-900.eot create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-solid-900.svg create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-solid-900.ttf create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff create mode 100644 IdentityModel/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff2 create mode 100644 IdentityModel/themes/hugo-theme-learn/theme.toml create mode 100644 IdentityModel/themes/hugo-theme-learn/wercker.yml create mode 100644 IdentityModel/tools/similar-names.ps1 diff --git a/IdentityModel/archetypes/default.md b/IdentityModel/archetypes/default.md new file mode 100644 index 00000000..00e77bd7 --- /dev/null +++ b/IdentityModel/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/IdentityModel/cheatsheet.md b/IdentityModel/cheatsheet.md new file mode 100644 index 00000000..82578918 --- /dev/null +++ b/IdentityModel/cheatsheet.md @@ -0,0 +1,15 @@ +[See part 2]({{< ref "/quickstarts/2_interactive" >}}) + +[See part 2]({{< ref "2_interactive.md" >}}) + +{{< ref "2_interactive.md" >}} + +[See part 1 - defining an API scope]({{< ref "1_client_credentials#defining-an-api-scope" >}}) + +{{< param qs_base >}} + +{{% notice note %}} +... +{{% /notice %}} + +![](../images/1_client_screenshot.png) \ No newline at end of file diff --git a/IdentityModel/config.toml b/IdentityModel/config.toml new file mode 100644 index 00000000..fa74f414 --- /dev/null +++ b/IdentityModel/config.toml @@ -0,0 +1,11 @@ +baseURL = "https://docs.duendesoftware.com/identitymodel" +languageCode = "en-us" +title = "IdentityModel Documentation" + +theme = "hugo-theme-learn" +# For search functionality +[outputs] +home = [ "HTML", "RSS", "JSON"] + +[params] +editURL = "https://github.com/DuendeSoftware/docs.duendesoftware.com/edit/main/IdentityModel/docs/content/" \ No newline at end of file diff --git a/IdentityModel/content/aspnetcore/extensibility.md b/IdentityModel/content/aspnetcore/extensibility.md new file mode 100644 index 00000000..988a6878 --- /dev/null +++ b/IdentityModel/content/aspnetcore/extensibility.md @@ -0,0 +1,106 @@ +Extensibility +============= + +The main extensibility points are around token storage (users), token +caching (clients) and configuration. + +Client access tokens +-------------------- + +Client access tokens are cached in memory by default. The default cache +implementation uses the `IDistributedCache` abstraction in ASP.NET Core. + +You can either + +- replace the standard distributed cache with something else +- replace the `IClientAccessTokenCache` implementation in DI +``` +altogether +``` + +User access tokens +------------------ + +User access tokens are stored/cached using the ASP.NET Core +authentication session mechanism. For that you need to set the +`SaveTokens` flag on the OpenID Connect handler to `true`. + +ASP.NET Core stores the authentication session in a cookie by default. +You can replace that storage mechanisms by setting the `SessionStore` +property on the cookie handler. + +If you want to take over the token handling altogether, replace the +`IUserTokenStore` implementation in DI. + +Configuration +------------- + +By default, clients statically configured in startup. But there are +situations where you want to resolve configuration dynamically, e.g. for +endpoint URLs or creating client assertions on the fly. + +The default configuration service reads all configuration from startup. +You can either replace the whole system, or derive from the default +implementation to augment the static configuration: + +``` +/// +/// Retrieves request details for client credentials, refresh and revocation requests +/// +public interface ITokenClientConfigurationService +{ + /// + /// Returns the request details for a client credentials token request + /// + /// + /// + Task GetClientCredentialsRequestAsync(string clientName); + + /// + /// Returns the request details for a refresh token request + /// + /// + Task GetRefreshTokenRequestAsync(); + + /// + /// Returns the request details for a token revocation request + /// + /// + Task GetTokenRevocationRequestAsync(); +} +``` + +### Dynamically creating assertions + +Instead of static client secrets, you can also use client assertions to +authenticate to the token service. The default configuration service has +a special method to override for that: + +``` +public class AssertionConfigurationService : DefaultTokenClientConfigurationService +{ + private readonly AssertionService _assertionService; + + public AssertionConfigurationService( + IOptions accessTokenManagementOptions, + IOptionsMonitor oidcOptions, + IAuthenticationSchemeProvider schemeProvider, + AssertionService assertionService) : base(accessTokenManagementOptions, + oidcOptions, + schemeProvider) + { + _assertionService = assertionService; + } + + protected override Task CreateAssertionAsync(string clientName = null) + { + var assertion = new ClientAssertion + { + Type = OidcConstants.ClientAssertionTypes.JwtBearer, + Value = _assertionService.CreateClientToken() + }; + + return Task.FromResult(assertion); + } +} +``` diff --git a/IdentityModel/content/aspnetcore/images/Web.gif b/IdentityModel/content/aspnetcore/images/Web.gif new file mode 100644 index 0000000000000000000000000000000000000000..de52628a644a0ec6c20eeac1763be8a53ec4d783 GIT binary patch literal 3623003 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�qBQtYmMn=Yrj2JU!&d8{d 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