diff --git a/assets/css/styles.css b/assets/css/styles.css index 95120008860..8e050d430c9 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -370,6 +370,14 @@ table code { background-color: transparent; } +ol.arabic { + font-size: 17px; +} + +div.colist.arabic { + font-size: 17px; +} + .hljs { display: inline; overflow: inherit; diff --git a/assets/css/styles.css.map b/assets/css/styles.css.map index 2b2fe9914d4..5473d6fcf56 100644 --- a/assets/css/styles.css.map +++ b/assets/css/styles.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../_sass/core/colors.scss","../../_sass/main.scss","../../_sass/core/grid.scss","../../_sass/layouts/blog.scss","../../_sass/layouts/guides.scss","../../_sass/layouts/community.scss","../../_sass/includes/share-page.scss","../../_sass/includes/highlighted-components.scss"],"names":[],"mappings":"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","sourcesContent":["/**\nThis is a partial.\nIt lies in /_sass, just waiting to be imported.\nIt does not contain the YAML front matter and has no corresponding output file in the built site.\n*/\n\n// RED HAT CORPORATE COLORS\n\n$red: #CC0000;\n$dark-red: #A30000;\n$darker-red: #820000;\n$black : #000000;\n$white : #FFFFFF;\n\n// RED HAT SECONDARY COLORS\n$blue: #004153;\n$light-blue: #A3DBE8;\n$dark-gray: #4C4C4C;\n$light-gray: #DCDCDC;\n\n// RED HAT ACCENT COLORS\n$accent-blue: #00b9E4;\n$accent-purple: #3B0083;\n$accent-yellow: #F0AB00;\n$accent-green: #92D400;\n$accent-teal: #007A87;\n\n\n// RED HAT PRODUCT COLORS\n\n$storage-yellow: #f0ab00;\n$storage-orange: #ec7a08;\n$infrastructure-blue: #00b9e4;\n$infrastructure-dark-blue: #0088ce;\n$applicationdev-green: #92d400;\n$applicationdev-dark-green: #3f9c35;\n\n// Other colors\n$link : #0000EE;\n$link-visited : #551A8B;\n\n$orange: #E37B40;\n$dark-orange: #85372C;\n$yellow: #F0CA4D;\n$dark-yellow: #90792E;\n$teal: #46B29D;\n$dark-blue: #1E2E37;\n$dark-teal: #2A6B5E;\n\n//Grayscale\n$gray-0 : #EFEFEF;\n$gray-1 : #AAAAAA;\n$gray-2 : #555555;\n$gray-3 : #333333;\n$gray-4 : #222222;\n\n\n// Alternative spelling\n$grey-0 : #EFEFEF;\n$grey-1 : #AAAAAA;\n$grey-2 : #555555;\n$grey-3 : #333333;\n$grey-4 : #222222;\n$dark-grey: #4C4C4C;\n$light-grey: #DCDCDC;\n\n$dark-blue : #09131E;\n$dark-blue-alt: #0D1C2C;\n$red: #FF004A;\n\n$link : #9BCAFA;\n$link-light-bg: #1165C5;\n$link-hover : $red;\n$link-visited : #AA4494;\n\n$cta-hover: $link-hover;","@import url('https://fonts.googleapis.com/css?family=PT+Mono|Titillium+Web:200,400,700');\n\n$primary-colour: #1d679c!important;\n$white-text: #FFF!important;\n$title-colour: #004153!important;\n$button-highlight-colour: #8EC0D5!important;\n\n$breakpoint-m: 48em;\n\nbody {\n padding: 0;\n margin: 0;\n}\n\nbody .page-content > .content {\n padding: 0 13rem;\n @media screen and (max-width: 1170px) { padding: 0 0rem; }\n line-height: 1.2;\n overflow: none;\n\n}\n\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 2.5rem;\n}\nh3 {\n font-size: 20px;\n font-family: \"Titillium Web\", sans-serif;\n}\nh4 {\n font-size: 18px;\n}\nh5 {\n font-size: 16px;\n}\n\n.nowrap>code {\n white-space: nowrap;\n}\n\na:not(.mdl-navigation__link) {\n color: $title-colour;\n strong, strong>em, em, em>strong {\n @extend a, :not(.mdl-navigation__link);\n }\n}\n\n.mdl-navigation {\n padding-top: 0px !important;\n}\n.mdl-layout__drawer {\n border-right: none !important;\n}\n\n.mdl-layout__header {\n background-color: $title-colour;\n}\n.side-drawer-logo-container {\n display: flex;\n justify-content: center;\n background-color: $title-colour;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n position: relative;\n color: $white-text;\n\n h3 {\n line-height: initial;\n margin: 10px 0px;\n }\n\n img {\n max-width: 100%;\n }\n\n * {\n color: $white-text;\n }\n}\n.large-logo {\n @media (max-width: $breakpoint-m) {\n display: none;\n }\n\n display: flex;\n justify-content: center;\n background-color: $title-colour;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n position: relative;\n color: $white-text;\n\n img {\n max-width: 100%\n }\n\n * {\n font-family: \"Titillium Web\", sans-serif;\n font-size: 46px;\n color: $white-text;\n }\n}\n.component-header {\n margin-top: 0px;\n background-color: $title-colour;\n color: $white-text;\n font-size: 25px;\n padding-left: 25px;\n min-height: 60px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n font-family: \"Titillium Web\", sans-serif;\n}\n* {\n font-family: \"Titillium Web\", sans-serif;\n}\n\n.title {\n color: $title-colour;\n text-align: center;\n font-family: \"Titillium Web\", sans-serif;\n b, code {\n color: $title-colour;\n }\n}\n\n.logo-toolbar-container {\n line-height:48px;\n}\n\n.mdl-layout__header-row{\n padding: 0 40px 0 60px;\n}\n\n.mdl-layout-title {\n * {\n color: $white-text;\n }\n}\n\n.material-icons {\n color: $white-text;\n}\n\n .grid-wrapper {\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n grid-gap: 1em;\n clear: both;\n\n h1 {\n font-family: \"Titillium Web\", sans-serif;\n font-size: 70px;\n text-align: center;\n color: $title-colour;\n margin: 36px 0px 24px;\n @media (max-width: $breakpoint-m) {\n font-size: 30px;\n margin: 18px 0px 12px;\n }\n }\n }\n\n .width-2-12 {\n grid-column: span 2;\n }\n\n .width-4-12 {\n grid-column: span 4;\n }\n\n .width-8-12 {\n grid-column: span 8;\n }\n\n.width-10-12 {\n grid-column: span 10;\n }\n\n .width-12-12 {\n grid-column: span 12;\n }\n\n.width-2-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 2;\n }\n }\n\n .width-4-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 4;\n }\n }\n\n .width-8-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 8;\n }\n }\n\n .width-10-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 10;\n }\n }\n\n .width-12-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 12;\n }\n }\n\n .callout {\n padding: 0 1.5rem;\n text-align: left;\n margin-bottom: 1.5rem;\n display:flex;\n align-items:center;\n h2 {\n font-family: \"Titillium Web\", sans-serif;\n font-size: 24px;\n display: block;\n float: left;\n width: 35%;\n margin: 2rem 1rem;\n text-transform: uppercase;\n }\n p {\n font-size: 18px;\n width: 65%;\n display: block;\n margin: 0 0 0;\n }\n &.grey {\n background-color: #DCDCDC;\n }\n &.blue {\n background-color: #A3DBE8;\n }\n }\n\n@media screen and (max-width: 1505px) {\n .callout {\n h2, p {\n width: 50%;\n }\n }\n}\n\n\n@media screen and (max-width: 1024px) {\n .callout {\n display: block;\n padding: 1rem 1.5rem;\n h2, p {\n display: block;\n width: 100%;\n margin: 0 0 1rem 0;\n }\n }\n}\n\n.home-section {\n text-align: center;\n padding-bottom: 4rem;\n &:not(:last-of-type){\n border-bottom: 4px solid white;\n }\n}\n\n.mdl-navigation__link {\n font-size: 17px;\n\n &--current {\n opacity: 1;\n font-weight: bold;\n }\n}\n\n.hide-mobile {\n @media screen and (max-width: 768px) {\n display: none;\n }\n}\n\n.paginator-btns a {\n margin: 1rem 0;\n @media screen and (max-width: 768px) {\n display: block;\n }\n}\n\na.button-cta {\n text-align: center;\n color: $white-text;\n background-color: $title-colour;\n border: 2px solid;\n text-transform: uppercase;\n text-decoration: none;\n padding: 12px 40px;\n white-space: nowrap;\n line-height: 3.5;\n transition: background .2s ease-in 0s;\n &:hover, &:active, &:focus {\n background-color: $button-highlight-colour;\n border-color: $button-highlight-colour;\n color: $title-colour;\n }\n @media screen and (max-width: 768px) {\n line-height: 1.5;\n }\n}\n\na.button-cta.secondary {\n background: none;\n border: 2px solid;\n &:hover, &:active, &:focus {\n background-color: $button-highlight-colour;\n border-color: $button-highlight-colour;\n color: $title-colour;\n }\n}\n\n\n\n\npre, pre span {\n color: #be9100;\n}\n\ncode, pre, pre span {\n background-color: inherit;\n padding: 0;\n a {\n text-decoration: none;\n color: inherit;\n font: inherit;\n }\n font-family: 'Roboto Mono', monospace;\n font-size: 16px;\n white-space: pre-wrap;\n}\n\npre {\n background: #282a36;\n overflow: inherit;\n padding: 0;\n}\n\npre.highlight {\n border: 1px solid #4695EB;\n padding: 1rem;\n line-height: 1.2em;\n overflow-x: auto;\n}\n\npre > code,\ntable code {\n border: none;\n background-color: transparent;\n}\n\n\npre > code,\ntable code {\n border: none;\n background-color: transparent;\n}\n\n.hljs {\n display: inline;\n overflow: inherit;\n overflow-x: inherit;\n overflow-y: hidden;\n background: inherit;\n padding: 0;\n line-height: 1.4em;\n}\n\n.hljs-built_in,\n.hljs-selector-tag,\n.hljs-section,\n.hljs-link,\n.hljs-function,\n.hljs-params {\n color: $white;\n}\n\n.hljs-keyword,\n.hljs-tag, .hljs-tag .hljs-name {\n color: $link;\n}\n\n.hljs,\n.hljs-subst {\n color: $gray-0;\n}\n\n.hljs-title,\n.hljs-attr {\n color: $yellow;\n}\n\n.hljs-string,\n.hljs-meta,\n.hljs-name,\n.hljs-type,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-addition,\n.hljs-variable,\n.hljs-template-tag,\n.hljs-template-variable {\n color: $orange;\n}\n\n.hljs-comment,\n.hljs-quote,\n.hljs-deletion {\n color: $gray-1;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-literal,\n.hljs-title,\n.hljs-section,\n.hljs-doctag,\n.hljs-type,\n.hljs-name,\n\n.hljs-literal,\n.hljs-number {\n color: $yellow;\n}\n\n.blog-page, .post-page, .getting-started-page, .documentation, .OSD-page, .contribute.page, .hacktoberfest-page, .guides-page, .setup-elytron {\n padding: 10px 20px;\n a, p {\n font-size: 18px;\n }\n}\n\n.getting-started-page, .setup-elytron, .OSD-page, .hacktoberfest-page, .contribute-page, .documentation {\n h1 {\n color: $title-colour;\n font-size: 35px;\n font-weight: 600;\n }\n h2 {\n font-size: 22px;\n font-weight: 600;\n }\n h3 {\n font-size: 20px;\n font-weight: 600;\n }\n h1, h2, h3, h4, h5 {\n font-family: \"Titillium Web\", sans-serif;\n }\n}\n\n* {\n color: $black;\n font-family: \"Titillium Web\", sans-serif;\n}\n\n.OSD-page, .hacktoberfest-page, .contribute-page {\n strong>a {\n font-weight: bold;\n }\n}\n\ndetails,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}\n\n@mixin nested-title-class {\n line-height:1.45;\n text-align:left;\n margin-top:0;\n margin-bottom:.25em;\n\n font-size:1rem;\n font-weight:400;\n font-style:italic;\n text-rendering:optimizeLegibility;\n}\n\ntd.content>, .audioblock>, .exampleblock>, .imageblock>, .listingblock>, .literalblock>, .stemblock>, .openblock>,\n .paragraph>, .quoteblock>, table.tableblock>, .verseblock>, .videoblock>, .dlist>, .olist>, .ulist>, .qlist>,\n .hdlist> {\n\n .title {\n @include nested-title-class;\n }\n\n .title>code {\n @include nested-title-class;\n font-style: normal;\n }\n}\n\n.banner>.content>img {\n width: 100%;\n height: auto;\n}\n\n.quoteblock blockquote::before {\n content: \"\\201c\";\n float: left;\n font-size: 2.75em;\n font-weight: bold;\n line-height: .6em;\n margin-left: -.6em;\n color: #004153;\n text-shadow: 0 1px 2px rgba(0,0,0,.1);\n padding-left: 30px;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.quoteblock blockquote::after {\n content: \"\";\n}\n\n// Responsive Images\n\n@mixin responsive-images($width: 30vw) {\n max-width: 100%;\n width: $width;\n \n @media screen and (max-width: 1024px) {\n max-width: 100%;\n width: $width + 50vw; \n }\n}\n\n@mixin responsive-images-capped($width: 30vw) {\n @include responsive-images($width);\n\n @media screen and (min-width: 2100px) { // QHD (1440p) at 100% scaling\n max-width: 100%;\n width: $width - 10vw;\n }\n \n @media screen and (min-width: 3000px) { // UHD (2160p) at 100% scaling\n max-width: 100%;\n width: $width - 15vw;\n }\n}\n\n.responsive-img>.content>img, span.responsive-img>img {\n @include responsive-images();\n}\n\n.responsive-img_capped>.content>img, span.responsive-img_capped>img {\n @include responsive-images-capped(30vw);\n}\n\n.responsive-img_capped_50-width>.content>img, span.responsive-img_50-mobile>img {\n @include responsive-images-capped(50vw);\n}","$breakpoint-m: 48em;\n\n.grid-wrapper {\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n grid-gap: 1em;\n clear: both;\n}\n\n.width-2-12 {\n grid-column: span 2;\n}\n\n\n.width-4-12 {\n grid-column: span 4;\n}\n\n.width-8-12 {\n grid-column: span 8;\n}\n\n.width-12-12 {\n grid-column: span 12;\n}\n\n.width-10-12 {\n grid-column: span 10;\n}\n\n.width-2-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 2;\n }\n}\n\n.width-4-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 4;\n }\n}\n\n.width-8-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 8;\n }\n}\n\n.width-10-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 10;\n }\n}\n\n.width-12-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 12;\n }\n}\n\n","body.post {\n background: #E7E8EA;\n\n div.post-page {\n h1, h2, h3, h4, h5, h6, p, small, strong, em,\n table tr th, table tr td, li, i, dt, .title, .paragraph, .footnote, b {\n color: #0D1C2C;\n @media only screen and (max-width: 768px) {\n word-wrap: break-word;\n }\n }\n .note, .colist {\n overflow: auto;\n }\n }\n}\n.blog-page {\n .blog-list-item {\n margin-bottom: 3rem;\n p {\n margin: 0;\n }\n p.byline {\n font-size: 1.3em;\n }\n .tags {\n font-size: 1em;\n }\n .post-title {\n a {\n font-size: 1.8rem;\n text-decoration: none;\n }\n }\n }\n .fa-rss-square {\n font-size: 2rem;\n color: #ee802f;\n float: right;\n &:hover {\n color: darken( #ee802f, 10%);\n }\n }\n}\n\n.blog-page, .post-page {\n .byline-wrapper {\n display: flex;\n align-items:center;\n }\n .headshot, .byline {\n display: inline;\n }\n .headshot {\n max-width: 4rem;\n margin-right: .5rem;\n }\n .share-page {\n text-align: right;\n }\n small {\n font-size: 14px;\n }\n}\n\n.post-page {\n * {\n h1, h2, h3, h4, h5, h6 {\n font-weight: 600;\n font-family: \"Titillium Web\", sans-serif;\n }\n h1 {\n color: $title-colour;\n font-size: 48px;\n font-weight: 600;\n }\n h2 {\n font-size: 28px;\n }\n h3 {\n font-size: 24px;\n }\n h4 {\n font-size: 18px;\n }\n }\n}\n\n.post-page .headshot {\n border: 1px solid #BBB;\n}\n\n.post-page {\n .byline-wrapper {\n p {\n margin: 0;\n }\n }\n .customer-logo {\n text-align: center;\n }\n}\n\n@media screen and (max-width: $breakpoint-m) {\n .blog-list-item .share-page, .post-page .share-page {\n text-align: left;\n }\n .blog-page p.byline {\n font-size: 1rem;\n line-height: 1.25rem;\n }\n .post-page, .blog-page {\n padding: 0px 10px;\n }\n}\n\n.videoblock iframe {\n width: auto;\n}\n\n",".guides-page {\n\n h1 {\n strong {\n color: $title-colour;\n }\n }\n\n .guides-block {\n text-align:center;\n p {\n text-align: left;\n padding: 0 20px;\n font-size: 18px;\n }\n h3 {\n line-height: initial;\n margin: 16px 0px 8px 0px;\n font-weight: 600;\n }\n\n @media screen and (min-width: 2000px) {\n grid-column: span 2 !important;\n \n &_windows {\n grid-column: 4 / 6 !important;\n }\n }\n }\n\n .guides-description {\n @extend .guides-block;\n \n p {\n text-align:center\n }\n\n @media screen and (min-width: 2000px) {\n grid-column: span 12 !important;\n }\n }\n}\n\nul.guide-icon {\n margin-bottom: 9px;\n\n li {\n list-style: none;\n \n &::before {\n content: '';\n display: inline-block;\n height: 30px;\n width: 30px;\n background-size: contain;\n vertical-align: middle;\n margin: 0px 5px 7px 0px;\n\n &.guide-icon_linux {\n background-image: url(../../assets/images/guides/icon-linux.png);\n }\n \n &.guide-icon_windows {\n background-image: url(../../assets/images/guides/icon-windows.png);\n }\n \n &.guide-icon_macos {\n background-image: url(../../assets/images/guides/icon-macos.png);\n } \n }\n }\n}",".community-page {\n\n h1 {\n strong {\n color: $title-colour;\n }\n }\n\n .community-block {\n\n text-align:center;\n\n p {\n text-align: left;\n padding: 0 20px;\n font-size: 18px;\n }\n\n h3 {\n line-height: initial;\n margin: 16px 0px 8px 0px;\n font-weight: 600;\n }\n }\n}",".share-page {\n a {\n text-decoration: none;\n img {\n max-width: 1.5rem;\n margin-right: .5rem;\n }\n }\n\n .fa-linkedin, .fa-twitter-square, .fa-facebook-square, .fa-reddit-square, .fa-envelope-square {\n font-size: 2rem;\n max-width: 1.5rem;\n margin-right: .5rem;\n color: $title-colour;\n }\n}\n","$yellow-idle: #F4c44c;\n\n/* Navigation buttons */\n\n@mixin highlight-button-mixin {\n\n border: 2px solid $accent-yellow !important;\n border-radius: 10px;\n padding: 0 17px;\n font-weight: 600;\n line-height: 32px;\n transition-duration: 0.2s;\n\n &:hover, &:active, &:focus {\n transition-duration: 0.2s;\n background-color: $accent-yellow;\n color: $blue;\n }\n}\n\n@mixin highlight-sidebar-mixin {\n \n font-weight: 600;\n transition-duration: 0.2s;\n\n &:hover, &:active, &:focus {\n transition-duration: 0.2s;\n background-color: $accent-yellow !important;\n color: $blue !important;\n }\n}\n\na.mdl-navigation__link.highlight-button {\n @include highlight-button-mixin;\n\n background-color: $blue;\n color: $accent-yellow;\n}\n\na.mdl-navigation__link--current.highlight-button {\n @include highlight-button-mixin;\n \n background-color: $accent-yellow !important;\n color: $blue !important;\n}\n\na.mdl-navigation__link.highlight-sidebar {\n @include highlight-sidebar-mixin;\n\n background-color: $yellow-idle !important;\n color: $blue !important;\n}\n\na.mdl-navigation__link--current.highlight-sidebar {\n @include highlight-sidebar-mixin;\n\n background-color: $accent-yellow !important;\n color: $blue !important;\n}\n\n/* MDL chip button */\n\n// Copied from MDL definitions\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n@mixin shadow-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n\ndiv.highlight-chip {\n margin: 24px 6px 0px 6px;\n text-align: center;\n max-width: 100%;\n \n button.mdl-chip {\n background-color: $accent-yellow;\n max-width: 100%;\n transition-duration: 0.2s;\n \n &:hover {\n cursor: pointer;\n transition-duration: 0.2s;\n outline: 0;\n background-color: #A3DBE8;\n @include shadow-2dp();\n }\n \n &:active {\n cursor: pointer;\n background-color: #88c5d3;\n box-shadow: none;\n }\n \n span {\n color: $blue;\n font-size: 18px;\n font-weight: 500;\n }\n\n &.highlight-chip{\n \n &_tiny, &_large {\n display: none;\n }\n \n @media screen and (min-width: 650px) {\n &_tiny, &_small {\n display: none;\n }\n \n &_large {\n display: initial;\n }\n }\n\n @media screen and (max-width: 350px) {\n &_small, &_large {\n display: none;\n }\n\n &_tiny {\n display: initial;\n }\n }\n }\n }\n\n \n}"],"file":"styles.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../_sass/core/colors.scss","../../_sass/main.scss","../../_sass/core/grid.scss","../../_sass/layouts/blog.scss","../../_sass/layouts/guides.scss","../../_sass/layouts/community.scss","../../_sass/includes/share-page.scss","../../_sass/includes/highlighted-components.scss"],"names":[],"mappings":"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","sourcesContent":["/**\nThis is a partial.\nIt lies in /_sass, just waiting to be imported.\nIt does not contain the YAML front matter and has no corresponding output file in the built site.\n*/\n\n// RED HAT CORPORATE COLORS\n\n$red: #CC0000;\n$dark-red: #A30000;\n$darker-red: #820000;\n$black : #000000;\n$white : #FFFFFF;\n\n// RED HAT SECONDARY COLORS\n$blue: #004153;\n$light-blue: #A3DBE8;\n$dark-gray: #4C4C4C;\n$light-gray: #DCDCDC;\n\n// RED HAT ACCENT COLORS\n$accent-blue: #00b9E4;\n$accent-purple: #3B0083;\n$accent-yellow: #F0AB00;\n$accent-green: #92D400;\n$accent-teal: #007A87;\n\n\n// RED HAT PRODUCT COLORS\n\n$storage-yellow: #f0ab00;\n$storage-orange: #ec7a08;\n$infrastructure-blue: #00b9e4;\n$infrastructure-dark-blue: #0088ce;\n$applicationdev-green: #92d400;\n$applicationdev-dark-green: #3f9c35;\n\n// Other colors\n$link : #0000EE;\n$link-visited : #551A8B;\n\n$orange: #E37B40;\n$dark-orange: #85372C;\n$yellow: #F0CA4D;\n$dark-yellow: #90792E;\n$teal: #46B29D;\n$dark-blue: #1E2E37;\n$dark-teal: #2A6B5E;\n\n//Grayscale\n$gray-0 : #EFEFEF;\n$gray-1 : #AAAAAA;\n$gray-2 : #555555;\n$gray-3 : #333333;\n$gray-4 : #222222;\n\n\n// Alternative spelling\n$grey-0 : #EFEFEF;\n$grey-1 : #AAAAAA;\n$grey-2 : #555555;\n$grey-3 : #333333;\n$grey-4 : #222222;\n$dark-grey: #4C4C4C;\n$light-grey: #DCDCDC;\n\n$dark-blue : #09131E;\n$dark-blue-alt: #0D1C2C;\n$red: #FF004A;\n\n$link : #9BCAFA;\n$link-light-bg: #1165C5;\n$link-hover : $red;\n$link-visited : #AA4494;\n\n$cta-hover: $link-hover;","@import url('https://fonts.googleapis.com/css?family=PT+Mono|Titillium+Web:200,400,700');\n\n$primary-colour: #1d679c!important;\n$white-text: #FFF!important;\n$title-colour: #004153!important;\n$button-highlight-colour: #8EC0D5!important;\n\n$breakpoint-m: 48em;\n\nbody {\n padding: 0;\n margin: 0;\n}\n\nbody .page-content > .content {\n padding: 0 13rem;\n @media screen and (max-width: 1170px) { padding: 0 0rem; }\n line-height: 1.2;\n overflow: none;\n\n}\n\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 2.5rem;\n}\nh3 {\n font-size: 20px;\n font-family: \"Titillium Web\", sans-serif;\n}\nh4 {\n font-size: 18px;\n}\nh5 {\n font-size: 16px;\n}\n\n.nowrap>code {\n white-space: nowrap;\n}\n\na:not(.mdl-navigation__link) {\n color: $title-colour;\n strong, strong>em, em, em>strong {\n @extend a, :not(.mdl-navigation__link);\n }\n}\n\n.mdl-navigation {\n padding-top: 0px !important;\n}\n.mdl-layout__drawer {\n border-right: none !important;\n}\n\n.mdl-layout__header {\n background-color: $title-colour;\n}\n.side-drawer-logo-container {\n display: flex;\n justify-content: center;\n background-color: $title-colour;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n position: relative;\n color: $white-text;\n\n h3 {\n line-height: initial;\n margin: 10px 0px;\n }\n\n img {\n max-width: 100%;\n }\n\n * {\n color: $white-text;\n }\n}\n.large-logo {\n @media (max-width: $breakpoint-m) {\n display: none;\n }\n\n display: flex;\n justify-content: center;\n background-color: $title-colour;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n position: relative;\n color: $white-text;\n\n img {\n max-width: 100%\n }\n\n * {\n font-family: \"Titillium Web\", sans-serif;\n font-size: 46px;\n color: $white-text;\n }\n}\n.component-header {\n margin-top: 0px;\n background-color: $title-colour;\n color: $white-text;\n font-size: 25px;\n padding-left: 25px;\n min-height: 60px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n font-family: \"Titillium Web\", sans-serif;\n}\n* {\n font-family: \"Titillium Web\", sans-serif;\n}\n\n.title {\n color: $title-colour;\n text-align: center;\n font-family: \"Titillium Web\", sans-serif;\n b, code {\n color: $title-colour;\n }\n}\n\n.logo-toolbar-container {\n line-height:48px;\n}\n\n.mdl-layout__header-row{\n padding: 0 40px 0 60px;\n}\n\n.mdl-layout-title {\n * {\n color: $white-text;\n }\n}\n\n.material-icons {\n color: $white-text;\n}\n\n .grid-wrapper {\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n grid-gap: 1em;\n clear: both;\n\n h1 {\n font-family: \"Titillium Web\", sans-serif;\n font-size: 70px;\n text-align: center;\n color: $title-colour;\n margin: 36px 0px 24px;\n @media (max-width: $breakpoint-m) {\n font-size: 30px;\n margin: 18px 0px 12px;\n }\n }\n }\n\n .width-2-12 {\n grid-column: span 2;\n }\n\n .width-4-12 {\n grid-column: span 4;\n }\n\n .width-8-12 {\n grid-column: span 8;\n }\n\n.width-10-12 {\n grid-column: span 10;\n }\n\n .width-12-12 {\n grid-column: span 12;\n }\n\n.width-2-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 2;\n }\n }\n\n .width-4-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 4;\n }\n }\n\n .width-8-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 8;\n }\n }\n\n .width-10-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 10;\n }\n }\n\n .width-12-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 12;\n }\n }\n\n .callout {\n padding: 0 1.5rem;\n text-align: left;\n margin-bottom: 1.5rem;\n display:flex;\n align-items:center;\n h2 {\n font-family: \"Titillium Web\", sans-serif;\n font-size: 24px;\n display: block;\n float: left;\n width: 35%;\n margin: 2rem 1rem;\n text-transform: uppercase;\n }\n p {\n font-size: 18px;\n width: 65%;\n display: block;\n margin: 0 0 0;\n }\n &.grey {\n background-color: #DCDCDC;\n }\n &.blue {\n background-color: #A3DBE8;\n }\n }\n\n@media screen and (max-width: 1505px) {\n .callout {\n h2, p {\n width: 50%;\n }\n }\n}\n\n\n@media screen and (max-width: 1024px) {\n .callout {\n display: block;\n padding: 1rem 1.5rem;\n h2, p {\n display: block;\n width: 100%;\n margin: 0 0 1rem 0;\n }\n }\n}\n\n.home-section {\n text-align: center;\n padding-bottom: 4rem;\n &:not(:last-of-type){\n border-bottom: 4px solid white;\n }\n}\n\n.mdl-navigation__link {\n font-size: 17px;\n\n &--current {\n opacity: 1;\n font-weight: bold;\n }\n}\n\n.hide-mobile {\n @media screen and (max-width: 768px) {\n display: none;\n }\n}\n\n.paginator-btns a {\n margin: 1rem 0;\n @media screen and (max-width: 768px) {\n display: block;\n }\n}\n\na.button-cta {\n text-align: center;\n color: $white-text;\n background-color: $title-colour;\n border: 2px solid;\n text-transform: uppercase;\n text-decoration: none;\n padding: 12px 40px;\n white-space: nowrap;\n line-height: 3.5;\n transition: background .2s ease-in 0s;\n &:hover, &:active, &:focus {\n background-color: $button-highlight-colour;\n border-color: $button-highlight-colour;\n color: $title-colour;\n }\n @media screen and (max-width: 768px) {\n line-height: 1.5;\n }\n}\n\na.button-cta.secondary {\n background: none;\n border: 2px solid;\n &:hover, &:active, &:focus {\n background-color: $button-highlight-colour;\n border-color: $button-highlight-colour;\n color: $title-colour;\n }\n}\n\n\n\n\npre, pre span {\n color: #be9100;\n}\n\ncode, pre, pre span {\n background-color: inherit;\n padding: 0;\n a {\n text-decoration: none;\n color: inherit;\n font: inherit;\n }\n font-family: 'Roboto Mono', monospace;\n font-size: 16px;\n white-space: pre-wrap;\n}\n\npre {\n background: #282a36;\n overflow: inherit;\n padding: 0;\n}\n\npre.highlight {\n border: 1px solid #4695EB;\n padding: 1rem;\n line-height: 1.2em;\n overflow-x: auto;\n}\n\npre > code,\ntable code {\n border: none;\n background-color: transparent;\n}\n\n\npre > code,\ntable code {\n border: none;\n background-color: transparent;\n}\n\nol.arabic {\n font-size: 17px;\n}\n\ndiv.colist.arabic {\n font-size: 17px;\n}\n\n.hljs {\n display: inline;\n overflow: inherit;\n overflow-x: inherit;\n overflow-y: hidden;\n background: inherit;\n padding: 0;\n line-height: 1.4em;\n}\n\n.hljs-built_in,\n.hljs-selector-tag,\n.hljs-section,\n.hljs-link,\n.hljs-function,\n.hljs-params {\n color: $white;\n}\n\n.hljs-keyword,\n.hljs-tag, .hljs-tag .hljs-name {\n color: $link;\n}\n\n.hljs,\n.hljs-subst {\n color: $gray-0;\n}\n\n.hljs-title,\n.hljs-attr {\n color: $yellow;\n}\n\n.hljs-string,\n.hljs-meta,\n.hljs-name,\n.hljs-type,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-addition,\n.hljs-variable,\n.hljs-template-tag,\n.hljs-template-variable {\n color: $orange;\n}\n\n.hljs-comment,\n.hljs-quote,\n.hljs-deletion {\n color: $gray-1;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-literal,\n.hljs-title,\n.hljs-section,\n.hljs-doctag,\n.hljs-type,\n.hljs-name,\n\n.hljs-literal,\n.hljs-number {\n color: $yellow;\n}\n\n.blog-page, .post-page, .getting-started-page, .documentation, .OSD-page, .contribute.page, .hacktoberfest-page, .guides-page, .setup-elytron {\n padding: 10px 20px;\n a, p {\n font-size: 18px;\n }\n}\n\n.getting-started-page, .setup-elytron, .OSD-page, .hacktoberfest-page, .contribute-page, .documentation {\n h1 {\n color: $title-colour;\n font-size: 35px;\n font-weight: 600;\n }\n h2 {\n font-size: 22px;\n font-weight: 600;\n }\n h3 {\n font-size: 20px;\n font-weight: 600;\n }\n h1, h2, h3, h4, h5 {\n font-family: \"Titillium Web\", sans-serif;\n }\n}\n\n* {\n color: $black;\n font-family: \"Titillium Web\", sans-serif;\n}\n\n.OSD-page, .hacktoberfest-page, .contribute-page {\n strong>a {\n font-weight: bold;\n }\n}\n\ndetails,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}\n\n@mixin nested-title-class {\n line-height:1.45;\n text-align:left;\n margin-top:0;\n margin-bottom:.25em;\n\n font-size:1rem;\n font-weight:400;\n font-style:italic;\n text-rendering:optimizeLegibility;\n}\n\ntd.content>, .audioblock>, .exampleblock>, .imageblock>, .listingblock>, .literalblock>, .stemblock>, .openblock>,\n .paragraph>, .quoteblock>, table.tableblock>, .verseblock>, .videoblock>, .dlist>, .olist>, .ulist>, .qlist>,\n .hdlist> {\n\n .title {\n @include nested-title-class;\n }\n\n .title>code {\n @include nested-title-class;\n font-style: normal;\n }\n}\n\n.banner>.content>img {\n width: 100%;\n height: auto;\n}\n\n.quoteblock blockquote::before {\n content: \"\\201c\";\n float: left;\n font-size: 2.75em;\n font-weight: bold;\n line-height: .6em;\n margin-left: -.6em;\n color: #004153;\n text-shadow: 0 1px 2px rgba(0,0,0,.1);\n padding-left: 30px;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.quoteblock blockquote::after {\n content: \"\";\n}\n\n// Responsive Images\n\n@mixin responsive-images($width: 30vw) {\n max-width: 100%;\n width: $width;\n \n @media screen and (max-width: 1024px) {\n max-width: 100%;\n width: $width + 50vw; \n }\n}\n\n@mixin responsive-images-capped($width: 30vw) {\n @include responsive-images($width);\n\n @media screen and (min-width: 2100px) { // QHD (1440p) at 100% scaling\n max-width: 100%;\n width: $width - 10vw;\n }\n \n @media screen and (min-width: 3000px) { // UHD (2160p) at 100% scaling\n max-width: 100%;\n width: $width - 15vw;\n }\n}\n\n.responsive-img>.content>img, span.responsive-img>img {\n @include responsive-images();\n}\n\n.responsive-img_capped>.content>img, span.responsive-img_capped>img {\n @include responsive-images-capped(30vw);\n}\n\n.responsive-img_capped_50-width>.content>img, span.responsive-img_50-mobile>img {\n @include responsive-images-capped(50vw);\n}","$breakpoint-m: 48em;\n\n.grid-wrapper {\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n grid-gap: 1em;\n clear: both;\n}\n\n.width-2-12 {\n grid-column: span 2;\n}\n\n\n.width-4-12 {\n grid-column: span 4;\n}\n\n.width-8-12 {\n grid-column: span 8;\n}\n\n.width-12-12 {\n grid-column: span 12;\n}\n\n.width-10-12 {\n grid-column: span 10;\n}\n\n.width-2-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 2;\n }\n}\n\n.width-4-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 4;\n }\n}\n\n.width-8-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 8;\n }\n}\n\n.width-10-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 10;\n }\n}\n\n.width-12-12-m {\n @media (max-width: $breakpoint-m) {\n grid-column: span 12;\n }\n}\n\n","body.post {\n background: #E7E8EA;\n\n div.post-page {\n h1, h2, h3, h4, h5, h6, p, small, strong, em,\n table tr th, table tr td, li, i, dt, .title, .paragraph, .footnote, b {\n color: #0D1C2C;\n @media only screen and (max-width: 768px) {\n word-wrap: break-word;\n }\n }\n .note, .colist {\n overflow: auto;\n }\n }\n}\n.blog-page {\n .blog-list-item {\n margin-bottom: 3rem;\n p {\n margin: 0;\n }\n p.byline {\n font-size: 1.3em;\n }\n .tags {\n font-size: 1em;\n }\n .post-title {\n a {\n font-size: 1.8rem;\n text-decoration: none;\n }\n }\n }\n .fa-rss-square {\n font-size: 2rem;\n color: #ee802f;\n float: right;\n &:hover {\n color: darken( #ee802f, 10%);\n }\n }\n}\n\n.blog-page, .post-page {\n .byline-wrapper {\n display: flex;\n align-items:center;\n }\n .headshot, .byline {\n display: inline;\n }\n .headshot {\n max-width: 4rem;\n margin-right: .5rem;\n }\n .share-page {\n text-align: right;\n }\n small {\n font-size: 14px;\n }\n}\n\n.post-page {\n * {\n h1, h2, h3, h4, h5, h6 {\n font-weight: 600;\n font-family: \"Titillium Web\", sans-serif;\n }\n h1 {\n color: $title-colour;\n font-size: 48px;\n font-weight: 600;\n }\n h2 {\n font-size: 28px;\n }\n h3 {\n font-size: 24px;\n }\n h4 {\n font-size: 18px;\n }\n }\n}\n\n.post-page .headshot {\n border: 1px solid #BBB;\n}\n\n.post-page {\n .byline-wrapper {\n p {\n margin: 0;\n }\n }\n .customer-logo {\n text-align: center;\n }\n}\n\n@media screen and (max-width: $breakpoint-m) {\n .blog-list-item .share-page, .post-page .share-page {\n text-align: left;\n }\n .blog-page p.byline {\n font-size: 1rem;\n line-height: 1.25rem;\n }\n .post-page, .blog-page {\n padding: 0px 10px;\n }\n}\n\n.videoblock iframe {\n width: auto;\n}\n\n",".guides-page {\n\n h1 {\n strong {\n color: $title-colour;\n }\n }\n\n .guides-block {\n text-align:center;\n p {\n text-align: left;\n padding: 0 20px;\n font-size: 18px;\n }\n h3 {\n line-height: initial;\n margin: 16px 0px 8px 0px;\n font-weight: 600;\n }\n\n @media screen and (min-width: 2000px) {\n grid-column: span 2 !important;\n \n &_windows {\n grid-column: 4 / 6 !important;\n }\n }\n }\n\n .guides-description {\n @extend .guides-block;\n \n p {\n text-align:center\n }\n\n @media screen and (min-width: 2000px) {\n grid-column: span 12 !important;\n }\n }\n}\n\nul.guide-icon {\n margin-bottom: 9px;\n\n li {\n list-style: none;\n \n &::before {\n content: '';\n display: inline-block;\n height: 30px;\n width: 30px;\n background-size: contain;\n vertical-align: middle;\n margin: 0px 5px 7px 0px;\n\n &.guide-icon_linux {\n background-image: url(../../assets/images/guides/icon-linux.png);\n }\n \n &.guide-icon_windows {\n background-image: url(../../assets/images/guides/icon-windows.png);\n }\n \n &.guide-icon_macos {\n background-image: url(../../assets/images/guides/icon-macos.png);\n } \n }\n }\n}",".community-page {\n\n h1 {\n strong {\n color: $title-colour;\n }\n }\n\n .community-block {\n\n text-align:center;\n\n p {\n text-align: left;\n padding: 0 20px;\n font-size: 18px;\n }\n\n h3 {\n line-height: initial;\n margin: 16px 0px 8px 0px;\n font-weight: 600;\n }\n }\n}",".share-page {\n a {\n text-decoration: none;\n img {\n max-width: 1.5rem;\n margin-right: .5rem;\n }\n }\n\n .fa-linkedin, .fa-twitter-square, .fa-facebook-square, .fa-reddit-square, .fa-envelope-square {\n font-size: 2rem;\n max-width: 1.5rem;\n margin-right: .5rem;\n color: $title-colour;\n }\n}\n","$yellow-idle: #F4c44c;\n\n/* Navigation buttons */\n\n@mixin highlight-button-mixin {\n\n border: 2px solid $accent-yellow !important;\n border-radius: 10px;\n padding: 0 17px;\n font-weight: 600;\n line-height: 32px;\n transition-duration: 0.2s;\n\n &:hover, &:active, &:focus {\n transition-duration: 0.2s;\n background-color: $accent-yellow;\n color: $blue;\n }\n}\n\n@mixin highlight-sidebar-mixin {\n \n font-weight: 600;\n transition-duration: 0.2s;\n\n &:hover, &:active, &:focus {\n transition-duration: 0.2s;\n background-color: $accent-yellow !important;\n color: $blue !important;\n }\n}\n\na.mdl-navigation__link.highlight-button {\n @include highlight-button-mixin;\n\n background-color: $blue;\n color: $accent-yellow;\n}\n\na.mdl-navigation__link--current.highlight-button {\n @include highlight-button-mixin;\n \n background-color: $accent-yellow !important;\n color: $blue !important;\n}\n\na.mdl-navigation__link.highlight-sidebar {\n @include highlight-sidebar-mixin;\n\n background-color: $yellow-idle !important;\n color: $blue !important;\n}\n\na.mdl-navigation__link--current.highlight-sidebar {\n @include highlight-sidebar-mixin;\n\n background-color: $accent-yellow !important;\n color: $blue !important;\n}\n\n/* MDL chip button */\n\n// Copied from MDL definitions\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n@mixin shadow-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n\ndiv.highlight-chip {\n margin: 24px 6px 0px 6px;\n text-align: center;\n max-width: 100%;\n \n button.mdl-chip {\n background-color: $accent-yellow;\n max-width: 100%;\n transition-duration: 0.2s;\n \n &:hover {\n cursor: pointer;\n transition-duration: 0.2s;\n outline: 0;\n background-color: #A3DBE8;\n @include shadow-2dp();\n }\n \n &:active {\n cursor: pointer;\n background-color: #88c5d3;\n box-shadow: none;\n }\n \n span {\n color: $blue;\n font-size: 18px;\n font-weight: 500;\n }\n\n &.highlight-chip{\n \n &_tiny, &_large {\n display: none;\n }\n \n @media screen and (min-width: 650px) {\n &_tiny, &_small {\n display: none;\n }\n \n &_large {\n display: initial;\n }\n }\n\n @media screen and (max-width: 350px) {\n &_small, &_large {\n display: none;\n }\n\n &_tiny {\n display: initial;\n }\n }\n }\n }\n\n \n}"],"file":"styles.css"} \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index c9704c1c878..a2d5a235a49 100644 --- a/blog/index.html +++ b/blog/index.html @@ -162,6 +162,61 @@
+
+
+ Securing WildFly Apps with SAML on OpenShift +
+ + + +
+ +

Learn how to secure applications deployed to WildFly on OpenShift with SAML.

+ +
+ +
+ +
Vlog: Join us at Open Source Day, No Prior Experience Needed @@ -685,55 +740,6 @@
- -
-
- Enabling Integrity on Filesystem realms -
- - - -
- -

An overview of the new support for filesystem realm integrity verification.

- -
- -
-
@@ -759,6 +765,10 @@

Tags

+ adapter
+ + + aes
@@ -891,6 +901,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1111,6 +1125,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/10/index.html b/blog/page/10/index.html index 2f78d47f42e..79d01802652 100644 --- a/blog/page/10/index.html +++ b/blog/page/10/index.html @@ -163,6 +163,59 @@
+
+
+ Using WildFly Elytron JASPI with Standalone Undertow +
+ + + +
+ +

How to make use of JASPI with a standalone Undertow.

+ +
+ +
+ +
WildFly Elytron - Credential Store - Next Steps @@ -652,51 +705,6 @@
- -
-
- Elytron and Kerberos using gssproxy -
- - - -
- -

A blog post describing how configure Kerberos authentication in WildFly using Elytron.

- -
- -
-
@@ -724,6 +732,10 @@

Tags

+ adapter
+ + + aes
@@ -856,6 +868,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1076,6 +1092,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/11/index.html b/blog/page/11/index.html index 97b70b3c0f6..bca730e8936 100644 --- a/blog/page/11/index.html +++ b/blog/page/11/index.html @@ -162,6 +162,51 @@
+
+
+ Elytron and Kerberos using gssproxy +
+ + + +
+ +

A blog post describing how configure Kerberos authentication in WildFly using Elytron.

+ +
+ +
+ +
SSL key switch without server restart @@ -639,6 +684,10 @@

Tags

+ adapter
+ + + aes
@@ -771,6 +820,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -991,6 +1044,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/2/index.html b/blog/page/2/index.html index 2c685cf3d59..5a9de6cdd76 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -163,6 +163,55 @@
+
+
+ Enabling Integrity on Filesystem realms +
+ + + +
+ +

An overview of the new support for filesystem realm integrity verification.

+ +
+ +
+ +
Grace Hopper Celebration Recap @@ -672,55 +721,6 @@
- -
-
- Encrypting Filesystem realms -
- - - -
- -

An overview of the new support for filesystem realm encryption.

- -
- -
-
@@ -748,6 +748,10 @@

Tags

+ adapter
+ + + aes
@@ -880,6 +884,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1100,6 +1108,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/3/index.html b/blog/page/3/index.html index 08976d0b19a..21e42e44636 100644 --- a/blog/page/3/index.html +++ b/blog/page/3/index.html @@ -163,6 +163,55 @@
+
+
+ Encrypting Filesystem realms +
+ + + +
+ +

An overview of the new support for filesystem realm encryption.

+ +
+ +
+ +
Encrypting Pre-Existing Filesystem realms @@ -684,55 +733,6 @@
- -
-
- Using distributed realm in Elytron -
- - - -
- -

An example of distributed realm usage in WildFly.

- -
- -
-
@@ -760,6 +760,10 @@

Tags

+ adapter
+ + + aes
@@ -892,6 +896,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1112,6 +1120,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/4/index.html b/blog/page/4/index.html index 3d5010e8a35..f997e6f2d26 100644 --- a/blog/page/4/index.html +++ b/blog/page/4/index.html @@ -163,6 +163,55 @@
+
+
+ Using distributed realm in Elytron +
+ + + +
+ +

An example of distributed realm usage in WildFly.

+ +
+ +
+ +
Open Source Day 2021 Recap @@ -660,57 +709,6 @@
- -
-
- Upcoming hash character sets and hash encodings support in Elytron -
- - - -
- -

An overview of the upcoming hash character set and hash encoding support in Elytron Security Realms.

- -
- -
-
@@ -738,6 +736,10 @@

Tags

+ adapter
+ + + aes
@@ -870,6 +872,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1090,6 +1096,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/5/index.html b/blog/page/5/index.html index 6053c581e6d..1d756b7eb83 100644 --- a/blog/page/5/index.html +++ b/blog/page/5/index.html @@ -163,6 +163,57 @@
+
+
+ Upcoming hash character sets and hash encodings support in Elytron +
+ + + +
+ +

An overview of the upcoming hash character set and hash encoding support in Elytron Security Realms.

+ +
+ +
+ +
Upcoming SSLContext that supports delegation to alternate instances based on peer information @@ -658,67 +709,6 @@
- -
-
- RESTEasy client integration with WildFly Elytron client -
- - - -
- -

An overview of the new RESTEasy client integration with WildFly Elytron client

- -
- -
-
@@ -746,6 +736,10 @@

Tags

+ adapter
+ + + aes
@@ -878,6 +872,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1098,6 +1096,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/6/index.html b/blog/page/6/index.html index 0c9f8e00996..0ce599e6975 100644 --- a/blog/page/6/index.html +++ b/blog/page/6/index.html @@ -163,6 +163,67 @@
+
+
+ RESTEasy client integration with WildFly Elytron client +
+ + + +
+ +

An overview of the new RESTEasy client integration with WildFly Elytron client

+ +
+ +
+ +
New Security Features in WildFly 21 @@ -654,55 +715,6 @@
- -
-
- Automatic Credential Store Updates -
- - - -
- -

An overview of the new support for automatic updates of credential stores.

- -
- -
-
@@ -730,6 +742,10 @@

Tags

+ adapter
+ + + aes
@@ -862,6 +878,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1082,6 +1102,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/7/index.html b/blog/page/7/index.html index 66bc82b3d41..fbc3f28872b 100644 --- a/blog/page/7/index.html +++ b/blog/page/7/index.html @@ -163,6 +163,55 @@
+
+
+ Automatic Credential Store Updates +
+ + + +
+ +

An overview of the new support for automatic updates of credential stores.

+ +
+ +
+ +
Elytron's ACME Client Implementation @@ -652,53 +701,6 @@
- -
-
- Enhanced Audit Logging - Additional RFC Support and Reliability vs Speed Customization Update -
- - - -
- -

An overview of the new enhancements done to WildFly Elytron's audit logging in WildFly 18.

- -
- -
-
@@ -726,6 +728,10 @@

Tags

+ adapter
+ + + aes
@@ -858,6 +864,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1078,6 +1088,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/8/index.html b/blog/page/8/index.html index 0d7927c848e..2b9a9871c50 100644 --- a/blog/page/8/index.html +++ b/blog/page/8/index.html @@ -163,6 +163,53 @@
+
+
+ Enhanced Audit Logging - Additional RFC Support and Reliability vs Speed Customization Update +
+ + + +
+ +

An overview of the new enhancements done to WildFly Elytron's audit logging in WildFly 18.

+ +
+ +
+ +
WildFly Elytron Credential Store APIs @@ -658,53 +705,6 @@
- -
-
- Enhanced Audit Logging in WildFly Elytron - RFC Support and Reliabiliity/Speed Customization -
- - - -
- -

An update on the audit logging enhancements of additional RFC support and reliability vs speed customization that is being added to WildFly Elytron.

- -
- -
-
@@ -732,6 +732,10 @@

Tags

+ adapter
+ + + aes
@@ -864,6 +868,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1084,6 +1092,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/page/9/index.html b/blog/page/9/index.html index d617ceddd6a..74f451877cf 100644 --- a/blog/page/9/index.html +++ b/blog/page/9/index.html @@ -163,6 +163,53 @@
+
+
+ Enhanced Audit Logging in WildFly Elytron - RFC Support and Reliabiliity/Speed Customization +
+ + + +
+ +

An update on the audit logging enhancements of additional RFC support and reliability vs speed customization that is being added to WildFly Elytron.

+ +
+ +
+ +
Security Features for WildFly 17 @@ -656,59 +703,6 @@
- -
-
- Using WildFly Elytron JASPI with Standalone Undertow -
- - - -
- -

How to make use of JASPI with a standalone Undertow.

- -
- -
-
@@ -736,6 +730,10 @@

Tags

+ adapter
+ + + aes
@@ -868,6 +866,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1088,6 +1090,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/securing-wildfly-apps-saml-openshift/index.html b/blog/securing-wildfly-apps-saml-openshift/index.html new file mode 100644 index 00000000000..27a778f0812 --- /dev/null +++ b/blog/securing-wildfly-apps-saml-openshift/index.html @@ -0,0 +1,796 @@ + + + + + + Elytron: Securing WildFly Apps with SAML on OpenShift + + + + + + + + + + + + + + + + + +Securing WildFly Apps with SAML on OpenShift | WildFly Elytron + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +

WildFly Elytron

+ +
+ +
+
+
+

WildFly Elytron

+ +
+
+
+ +
+
+
+

Securing WildFly Apps with SAML on OpenShift

+
+ + + +
+
+

Starting with WildFly 29, you can use Galleon to add Keycloak’s SAML adapter to your WildFly +installation using the new Keycloak SAML Adapter feature pack. In this guide, we’ll show how +to secure an application deployed to WildFly on OpenShift with SAML.

+
+ +
+

Prerequisites

+
+
+

To follow along with this guide, you will need:

+
+
+ +
+
+
+
+

Example Application

+
+
+

We will be using a simple web application in this guide that consists of a single servlet. We will secure +this servlet using SAML.

+
+
+

You’ll need to fork and then clone this Git repository: https://github.com/wildfly-security-incubator/elytron-examples.git

+
+
+

We will be using the example in the simple-webapp-saml directory in this repo.

+
+
+
+
+

Log Into the OpenShift Cluster

+
+
+

Before we can deploy our application, we need to log into an OpenShift cluster. You can log in via the OpenShift CLI:

+
+
+
+
oc login -u myUserName
+
+
+
+

Alternatively, you can log in using an API token:

+
+
+
+
oc login --token=myToken --server=myServerUrl
+
+
+
+

You can request the token via the Copy Login Command link in the OpenShift web console.

+
+
+

If you don’t already have a project created, you can create one using:

+
+
+
+
oc new-project myProjectName
+
+
+
+
+
+

Start Keycloak

+
+
+

We will be using Keycloak for our SAML identity provider.

+
+
+

To start a Keycloak server in your project on OpenShift, use the following command:

+
+
+
+
oc process -f https://raw.githubusercontent.com/keycloak/keycloak-quickstarts/latest/openshift/keycloak.yaml \
+    -p KEYCLOAK_ADMIN=admin \                 (1)
+    -p KEYCLOAK_ADMIN_PASSWORD=admin \        (2)
+    -p NAMESPACE=myNameSpace \                (3)
+| oc create -f -
+
+
+
+ + + + + + + + + + + + + +
1Replace admin with the user name you would like to use when accessing the Keycloak Administration Console.
2Replace admin with the password you would like to use when accessing the Keycloak Administration Console.
3Replace myNameSpace with your project name.
+
+
+

After running the above command, you should see the following output:

+
+
+
+
service/keycloak created
+route.route.openshift.io/keycloak created
+deploymentconfig.apps.openshift.io/keycloak created.
+
+
+
+

It will take a few minutes for OpenShift to provision the Keycloak pod and its related resources.

+
+
+

You can use the OpenShift CLI or the OpenShift web console, depending on your preference, +to check if your Keycloak server has been provisioned.

+
+
+

OpenShift CLI

+
+

To make sure your Keycloak server has been provisioned using the OpenShift CLI, run:

+
+
+
+
oc get pods
+
+
+
+

After a little while, check for a message similar to the following message that indicates the pod is ready:

+
+
+
+
NAME                READY     STATUS      RESTARTS   AGE
+keycloak-1-deploy   0/1       Completed   0          1h
+keycloak-1-l9kdx    1/1       Running     0          1h
+
+
+
+

Once the Keycloak server has been provisioned, use the following command to find the URL for your Keycloak instance’s +Admin Console:

+
+
+
+
KEYCLOAK_URL=https://$(oc get route keycloak --template='{{ .spec.host }}') &&
+echo "" &&
+echo "Keycloak Admin Console:   $KEYCLOAK_URL/admin" &&
+echo ""
+
+
+
+
+

OpenShift Web Console

+
+

To make sure your Keycloak server has been provisioned using the OpenShift web console, +navigate to the Topology view in the Developer perspective. You can click on your keycloak app +to check its status. Once it is running, you can click on Open URL and then access Keycloak’s Administration Console.

+
+
+
+
+
+

Configure Keycloak

+
+
+
    +
  1. +

    Log into the Keycloak Admin Console using the username and password you specified earlier.

    +
  2. +
  3. +

    Create a new realm called myrealm. For more information, see the Keycloak documentation on how to create a realm.

    +
  4. +
  5. +

    Add a role called user. This role will be required to access our simple web application. For more information, see the Keycloak documentation on how to create a role.

    +
  6. +
  7. +

    Add a new user named alice. Set an email address for this new user, we’ll use alice@example.org. For more information, see the Keycloak documentation on how to create a user.

    +
  8. +
  9. +

    Once the new user has been created, set a password for this new user from the Credentials tab.

    +
  10. +
  11. +

    From the Role Mapping tab, assign alice the user role. For more information, see the Keycloak documentation on how to assign a role to a user.

    +
  12. +
  13. +

    Create a new client as follows:

    +
    +
      +
    • +

      Client type (or Client Protocol, depending on your Keycloak version): saml

      +
    • +
    • +

      Client ID: simple-webapp-saml

      +
      +

      For more information, see the Keycloak documentation on how to create a SAML client.

      +
      +
    • +
    +
    +
  14. +
  15. +

    Once the new client has been created, in the Settings tab, scroll down to the SAML capabilities section and +set the Name ID format to email. When accessing +our servlet later on, we will see that this results in HttpServletRequest.getUserPrincipal().getName() returning +the logged in user’s email address.

    +
  16. +
  17. +

    Then set Force name ID format to On. Then click on Save.

    +
  18. +
+
+
+
+
+

Download the SAML Keys

+
+
+
    +
  1. +

    From your simple-webapp-saml client in the Keycloak Admin Console, click on the Keys tab.

    +
  2. +
  3. +

    Click on the Export button in the Signing keys config to export the SAML keys to a keystore.

    +
  4. +
  5. +

    Set the Key alias to simple-webapp-saml, the Key password to password, +the Realm certificate alias to myrealm, and the Store password to password.

    +
    +

    Take note of the aliases and passwords that you specify here since these will be used +when updating the keycloak-saml.xml file.

    +
    +
  6. +
  7. +

    Click on Export to download the corresponding keystore.jks file.

    +
  8. +
  9. +

    Create an OpenShift secret using this keystore by running the following command:

    +
    +
    +
    oc create secret generic simple-webapp-saml-secret --from-file=/PATH/TO/keystore.jks
    +
    +
    +
  10. +
+
+
+
+
+

Download and Edit the Keycloak Adapter Configuration File

+
+
+
    +
  1. +

    From your simple-webapp-saml client in the Keycloak Admin Console, click on the Action dropdown in the top right corner +and select Download Adapter Config.

    +
  2. +
  3. +

    For the Format option, select the Keycloak SAML Adapter keycloak-saml.xml, and download the file and place it in the example +application’s WEB-INF directory, i.e., place the keycloak-saml.xml file in +/PATH/TO/ELYTRON/EXAMPLES/simple-webapp-saml/src/main/webapp/WEB-INF.

    +
  4. +
  5. +

    Update the keycloak-saml.xml file as follows:

    +
    +
      +
    • +

      Set the SP entityID to "simple-webapp-saml"

      +
    • +
    • +

      Set the SP logoutPage to "/simple-webapp-saml"

      +
    • +
    • +

      Replace the SP Keys configuration with the following configuration, being sure to use the aliases +and passwords you specified when exporting the SAML keys to the keystore.jks file:

      +
      +
      +
      <Keys>
      +    <Key signing="true">
      +        <KeyStore password="password" file="/etc/keycloak-saml-secret-volume/keystore.jks">
      +            <PrivateKey alias="simple-webapp-saml" password="password"/>
      +            <Certificate alias="myrealm"/>
      +        </KeyStore>
      +    </Key>
      +</Keys>
      +
      +
      +
    • +
    • +

      Push this new file to the simple-webapp-saml directory in your elytron-examples fork, making +sure to push the changes to your fork’s default branch.

      +
      +
      +
      cd /PATH/TO/ELYTRON/EXAMPLES/simple-webapp-saml
      +git add src/main/webapp/WEB-INF/keycloak-saml.xml
      +git commit -m "Added Keycloak adapter deployment descriptor file"
      +git push origin main
      +
      +
      +
    • +
    +
    +
  6. +
+
+
+
+
+

Add Helm Configuration

+
+
+

Let’s switch to the charts directory in our simple-webapp-saml example:

+
+
+
+
cd /PATH/TO/ELYTRON/EXAMPLES/simple-webapp-saml/charts
+
+
+
+

Notice there’s a helm.yaml file in this directory with the following content:

+
+
+
+
build:
+  uri: https://github.com/YOUR_GITHUB_USERNAME/elytron-examples
+  contextDir: simple-webapp-saml
+deploy:
+  volumes:
+    - name: saml-keystore-volume
+      secret:
+        secretName: simple-webapp-saml-secret
+  volumeMounts:
+    - name: saml-keystore-volume
+      mountPath: /etc/keycloak-saml-secret-volume
+      readOnly: true
+
+
+
+

Replace YOUR_GITHUB_USERNAME in the build uri with your own GitHub username.

+
+
+

The helm.yaml file specifies the Git repository that contains our application’s source code.

+
+
+

Because we have modified the application’s source code by adding a keycloak-saml.xml file, you need +to set the build uri in the helm.yaml file to point to your own fork.

+
+
+

Notice that our helm.yaml file also refers to the OpenShift secret, simple-webapp-saml-secret we +created earlier. This will be used to mount the keystore.jks file on our WildFly server pod.

+
+
+
+
+

Deploy the Example Application to WildFly on OpenShift

+
+
+

We can deploy our example application to WildFly on OpenShift using the WildFly Helm Chart:

+
+
+
+
helm install saml-app -f /PATH/TO/ELYTRON/EXAMPLES/simple-webapp-saml/charts/helm.yaml wildfly/wildfly
+
+
+
+

Notice that this command specifies the file we updated, helm.yaml, that contains the values +needed to build and deploy our application.

+
+
+

The application will now begin to build. This will take a couple of minutes.

+
+
+

The build can be observed using:

+
+
+
+
oc get build -w
+
+
+
+

Once complete, you can follow the deployment of the application using:

+
+
+
+
oc get deployment saml-app -w
+
+
+
+

Alternatively, you can check status directly from the OpenShift web console.

+
+
+

Behind the Scenes

+
+

While our application is building, let’s take a closer look at our application’s pom.xml file. +Notice that it contains the following wildfly-maven-plugin configuration:

+
+
+
+
<plugin>
+    <groupId>org.wildfly.plugins</groupId>
+    <artifactId>wildfly-maven-plugin</artifactId>
+    <version>${version.wildfly.plugin}</version>
+    <configuration>
+        <feature-packs>
+            <feature-pack>
+                <location>org.wildfly:wildfly-galleon-pack:${version.wildfly}</location>
+            </feature-pack>
+            <feature-pack>
+                <location>org.wildfly.cloud:wildfly-cloud-galleon-pack:${version.wildfly.cloud.galleon.pack}</location>
+            </feature-pack>
+            <feature-pack>
+                <location>org.keycloak:keycloak-saml-adapter-galleon-pack:${version.keycloak}</location>
+            </feature-pack>
+        </feature-packs>
+        <layers>
+            <layer>cloud-server</layer>
+            <layer>keycloak-client-saml</layer>
+        </layers>
+    </configuration>
+    <executions>
+        <execution>
+            <goals>
+                <goal>package</goal>
+            </goals>
+        </execution>
+    </executions>
+ </plugin>
+
+
+
+

This configuration is used to provision a WildFly server with the specified layers and with our application deployed.

+
+
+

The keycloak-client-saml layer automatically adds the Keycloak SAML adapter to our WildFly installation.

+
+
+
+
+
+

Get the Application URL

+
+
+

Once the WildFly server has been provisioned, use the following command to find the URL for your example +application:

+
+
+
+
SIMPLE_WEBAPP_SAML_URL=https://$(oc get route saml-app --template='{{ .spec.host }}') &&
+echo "" &&
+echo "Application URL:              $SIMPLE_WEBAPP_SAML_URL/simple-webapp-saml" &&
+echo "Master SAML Processing URL:   $SIMPLE_WEBAPP_SAML_URL/simple-webapp-saml/saml" &&
+echo ""
+
+
+
+

We’ll make use of these URLs in the next two sections.

+
+
+
+
+

Finish Configuring Keycloak

+
+
+

From your simple-webapp-saml client in the Keycloak Administration Console, +In the client settings, set Master SAML Processing URL to the Master SAML Processing URL that was output +in the previous section and then click Save.

+
+
+
+
+

Access the Application

+
+
+

From your browser, navigate to the Application URL.

+
+
+

Click on Access Secured Servlet.

+
+
+

You will be redirected to Keycloak to log in.

+
+
+

Log in using the alice user we created earlier.

+
+
+

Upon successful authentication, you will be redirected back to the example application.

+
+
+

The example application simply outputs the email address associated with our logged in user.

+
+
+

You should see the following output:

+
+
+
+
Current Principal 'alice@example.org'
+
+
+
+

This indicates that we have successfully logged into our application!

+
+
+
+
+

Summary

+
+
+

This guide has shown how to secure an application deployed to WildFly on OpenShift with SAML. For additional +information, feel free to check out the resources linked below.

+
+
+
+ +
+
+
+
+ +
+
+
+
+ + diff --git a/blog/tag/acme/index.html b/blog/tag/acme/index.html index 0430353ec04..3d104740afc 100644 --- a/blog/tag/acme/index.html +++ b/blog/tag/acme/index.html @@ -286,6 +286,10 @@

Tags

+ adapter
+ + + aes
@@ -418,6 +422,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -638,6 +646,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/adapter/index.html b/blog/tag/adapter/index.html new file mode 100644 index 00000000000..2eb228a86df --- /dev/null +++ b/blog/tag/adapter/index.html @@ -0,0 +1,704 @@ + + + + + + Elytron: adapter + + + + + + + + + + + + + + + + + +adapter | WildFly Elytron + + + + + + + + + + + + + + + + + +
+
+
+ +

WildFly Elytron

+ +
+ +
+
+
+

WildFly Elytron

+ +
+
+
+ +
+
+ +
+ +
+ +
+
+
+ +
+
+ + +
+
+ Securing WildFly Apps with SAML on OpenShift +
+ + + +
+ +

Learn how to secure applications deployed to WildFly on OpenShift with SAML.

+ +
+ +
+ + +
+
+ +
+
+ +
+

Tags

+ + + + + acme
+ + + + adapter
+ + + + aes
+ + + + algorithm
+ + + + ama
+ + + + anomaly-detection
+ + + + audit-logging
+ + + + authentication
+ + + + authorization
+ + + + basic
+ + + + bearer
+ + + + certificate
+ + + + cli
+ + + + client
+ + + + client-cert
+ + + + client-config
+ + + + console
+ + + + credential-store
+ + + + custom-component
+ + + + custom-principal
+ + + + default-ssl-context
+ + + + delegation
+ + + + digest
+ + + + distributed-realm
+ + + + dynamic
+ + + + ejb
+ + + + encoding
+ + + + encryption
+ + + + expression
+ + + + external
+ + + + factory
+ + + + failover-realm
+ + + + faq
+ + + + filesystem-realm
+ + + + galleon
+ + + + galleon-pack
+ + + + ghc
+ + + + ghc22
+ + + + ghc23
+ + + + git-persistence
+ + + + git-tips
+ + + + github
+ + + + hacktoberfest
+ + + + hash
+ + + + http
+ + + + https
+ + + + identity
+ + + + integrity
+ + + + intrusion-detection
+ + + + jaas
+ + + + jaspi
+ + + + java
+ + + + jetty
+ + + + jvm
+ + + + kerberos
+ + + + keycloak
+ + + + keystore
+ + + + ldap
+ + + + lets-encrypt
+ + + + login-context
+ + + + login-module
+ + + + machine-learning
+ + + + management
+ + + + management-model
+ + + + migration
+ + + + netty
+ + + + oath2
+ + + + oidc
+ + + + openshift
+ + + + opensource
+ + + + opensourceday
+ + + + openssl
+ + + + osd
+ + + + peer
+ + + + permissions
+ + + + planning
+ + + + principal
+ + + + principal-decoder
+ + + + principal-propagation
+ + + + principal-transformer
+ + + + properties
+ + + + provider
+ + + + realm
+ + + + realm-mapper
+ + + + recap
+ + + + release
+ + + + remote
+ + + + resteasy
+ + + + rfc
+ + + + role-mapper
+ + + + rule-engine
+ + + + saml
+ + + + sasl
+ + + + security-events
+ + + + security-realm
+ + + + sha-256
+ + + + sha-512-256
+ + + + sni
+ + + + spi
+ + + + spnego
+ + + + ssh
+ + + + ssl
+ + + + ssl-context
+ + + + sso
+ + + + tls
+ + + + token
+ + + + tool
+ + + + trust-manager
+ + + + truststore
+ + + + undertow
+ + + + updates
+ + + + ux
+ + + + vault
+ + + + vlog
+ + + + webservices
+ + + + x509
+ +
+
+
+
+
+
+ + diff --git a/blog/tag/aes/index.html b/blog/tag/aes/index.html index 70133a8dfb9..c4dd2d6b662 100644 --- a/blog/tag/aes/index.html +++ b/blog/tag/aes/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/algorithm/index.html b/blog/tag/algorithm/index.html index 346feb026b6..adc096b4b6b 100644 --- a/blog/tag/algorithm/index.html +++ b/blog/tag/algorithm/index.html @@ -242,6 +242,10 @@

Tags

+ adapter
+ + + aes
@@ -374,6 +378,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -594,6 +602,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ama/index.html b/blog/tag/ama/index.html index 7755df00b1f..759a547cc24 100644 --- a/blog/tag/ama/index.html +++ b/blog/tag/ama/index.html @@ -280,6 +280,10 @@

Tags

+ adapter
+ + + aes
@@ -412,6 +416,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -632,6 +640,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/anomaly-detection/index.html b/blog/tag/anomaly-detection/index.html index 7b91314de01..765f524d146 100644 --- a/blog/tag/anomaly-detection/index.html +++ b/blog/tag/anomaly-detection/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/audit-logging/index.html b/blog/tag/audit-logging/index.html index bd543770c18..3801f027da4 100644 --- a/blog/tag/audit-logging/index.html +++ b/blog/tag/audit-logging/index.html @@ -274,6 +274,10 @@

Tags

+ adapter
+ + + aes
@@ -406,6 +410,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -626,6 +634,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/authentication/index.html b/blog/tag/authentication/index.html index bbbd857c6de..3818a41f877 100644 --- a/blog/tag/authentication/index.html +++ b/blog/tag/authentication/index.html @@ -710,6 +710,10 @@

Tags

+ adapter
+ + + aes
@@ -842,6 +846,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1062,6 +1070,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/authorization/index.html b/blog/tag/authorization/index.html index d4c3ce50a9d..88d63139316 100644 --- a/blog/tag/authorization/index.html +++ b/blog/tag/authorization/index.html @@ -382,6 +382,10 @@

Tags

+ adapter
+ + + aes
@@ -514,6 +518,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -734,6 +742,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/basic/index.html b/blog/tag/basic/index.html index 3e31ce240cf..12d98e5e707 100644 --- a/blog/tag/basic/index.html +++ b/blog/tag/basic/index.html @@ -348,6 +348,10 @@

Tags

+ adapter
+ + + aes
@@ -480,6 +484,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -700,6 +708,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/bearer/index.html b/blog/tag/bearer/index.html index e0883b29a2b..6bfdc0f7cc7 100644 --- a/blog/tag/bearer/index.html +++ b/blog/tag/bearer/index.html @@ -290,6 +290,10 @@

Tags

+ adapter
+ + + aes
@@ -422,6 +426,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -642,6 +650,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/certificate/index.html b/blog/tag/certificate/index.html index 82681ff327c..8c7b2ff2517 100644 --- a/blog/tag/certificate/index.html +++ b/blog/tag/certificate/index.html @@ -632,6 +632,10 @@

Tags

+ adapter
+ + + aes
@@ -764,6 +768,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -984,6 +992,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/cli/index.html b/blog/tag/cli/index.html index cbb2e9aa550..9a56a35855d 100644 --- a/blog/tag/cli/index.html +++ b/blog/tag/cli/index.html @@ -436,6 +436,10 @@

Tags

+ adapter
+ + + aes
@@ -568,6 +572,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -788,6 +796,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/client-cert/index.html b/blog/tag/client-cert/index.html index 1f9cf51b0a2..f0e2a5f677e 100644 --- a/blog/tag/client-cert/index.html +++ b/blog/tag/client-cert/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/client-config/index.html b/blog/tag/client-config/index.html index 6702dff1b91..df3a66db7dd 100644 --- a/blog/tag/client-config/index.html +++ b/blog/tag/client-config/index.html @@ -386,6 +386,10 @@

Tags

+ adapter
+ + + aes
@@ -518,6 +522,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -738,6 +746,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/client/index.html b/blog/tag/client/index.html index 40eccf43aa1..ec3a17bd3af 100644 --- a/blog/tag/client/index.html +++ b/blog/tag/client/index.html @@ -656,6 +656,10 @@

Tags

+ adapter
+ + + aes
@@ -788,6 +792,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1008,6 +1016,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/console/index.html b/blog/tag/console/index.html index 4ac65febcc2..846d2ee8341 100644 --- a/blog/tag/console/index.html +++ b/blog/tag/console/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/credential-store/index.html b/blog/tag/credential-store/index.html index 4a768e41043..bbe0699283c 100644 --- a/blog/tag/credential-store/index.html +++ b/blog/tag/credential-store/index.html @@ -490,6 +490,10 @@

Tags

+ adapter
+ + + aes
@@ -622,6 +626,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -842,6 +850,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/custom-component/index.html b/blog/tag/custom-component/index.html index d1bc45f4e40..4268186c812 100644 --- a/blog/tag/custom-component/index.html +++ b/blog/tag/custom-component/index.html @@ -326,6 +326,10 @@

Tags

+ adapter
+ + + aes
@@ -458,6 +462,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -678,6 +686,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/custom-principal/index.html b/blog/tag/custom-principal/index.html index 46c583e3650..cfa1710be8c 100644 --- a/blog/tag/custom-principal/index.html +++ b/blog/tag/custom-principal/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/default-ssl-context/index.html b/blog/tag/default-ssl-context/index.html index a082a4deac9..8b3bf97baf2 100644 --- a/blog/tag/default-ssl-context/index.html +++ b/blog/tag/default-ssl-context/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/delegation/index.html b/blog/tag/delegation/index.html index c8217cf2748..6248fbb9e0c 100644 --- a/blog/tag/delegation/index.html +++ b/blog/tag/delegation/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/digest/index.html b/blog/tag/digest/index.html index fe48e5315c4..7444e57425d 100644 --- a/blog/tag/digest/index.html +++ b/blog/tag/digest/index.html @@ -242,6 +242,10 @@

Tags

+ adapter
+ + + aes
@@ -374,6 +378,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -594,6 +602,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/distributed-realm/index.html b/blog/tag/distributed-realm/index.html index 32023629e02..8d603d1fd15 100644 --- a/blog/tag/distributed-realm/index.html +++ b/blog/tag/distributed-realm/index.html @@ -278,6 +278,10 @@

Tags

+ adapter
+ + + aes
@@ -410,6 +414,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -630,6 +638,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/dynamic/index.html b/blog/tag/dynamic/index.html index 98779427b33..26e7e33cfdb 100644 --- a/blog/tag/dynamic/index.html +++ b/blog/tag/dynamic/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ejb/index.html b/blog/tag/ejb/index.html index b1dbf8f4b59..40e59994390 100644 --- a/blog/tag/ejb/index.html +++ b/blog/tag/ejb/index.html @@ -488,6 +488,10 @@

Tags

+ adapter
+ + + aes
@@ -620,6 +624,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -840,6 +848,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/encoding/index.html b/blog/tag/encoding/index.html index e55ee9145ea..8827fb3047b 100644 --- a/blog/tag/encoding/index.html +++ b/blog/tag/encoding/index.html @@ -282,6 +282,10 @@

Tags

+ adapter
+ + + aes
@@ -414,6 +418,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -634,6 +642,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/encryption/index.html b/blog/tag/encryption/index.html index c774269bbd4..e2b6708c6df 100644 --- a/blog/tag/encryption/index.html +++ b/blog/tag/encryption/index.html @@ -532,6 +532,10 @@

Tags

+ adapter
+ + + aes
@@ -664,6 +668,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -884,6 +892,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/expression/index.html b/blog/tag/expression/index.html index ab9954d1e36..ea2397d51e2 100644 --- a/blog/tag/expression/index.html +++ b/blog/tag/expression/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/external/index.html b/blog/tag/external/index.html index f2c18f65c5a..7d187efa02e 100644 --- a/blog/tag/external/index.html +++ b/blog/tag/external/index.html @@ -230,6 +230,10 @@

Tags

+ adapter
+ + + aes
@@ -362,6 +366,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -582,6 +590,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/factory/index.html b/blog/tag/factory/index.html index c42372497d8..bfd736efc4b 100644 --- a/blog/tag/factory/index.html +++ b/blog/tag/factory/index.html @@ -242,6 +242,10 @@

Tags

+ adapter
+ + + aes
@@ -374,6 +378,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -594,6 +602,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/failover-realm/index.html b/blog/tag/failover-realm/index.html index d75c3f728bf..dbb45a96e0d 100644 --- a/blog/tag/failover-realm/index.html +++ b/blog/tag/failover-realm/index.html @@ -280,6 +280,10 @@

Tags

+ adapter
+ + + aes
@@ -412,6 +416,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -632,6 +640,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/faq/index.html b/blog/tag/faq/index.html index f278a889eaf..a01bde44b49 100644 --- a/blog/tag/faq/index.html +++ b/blog/tag/faq/index.html @@ -230,6 +230,10 @@

Tags

+ adapter
+ + + aes
@@ -362,6 +366,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -582,6 +590,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/filesystem-realm/index.html b/blog/tag/filesystem-realm/index.html index f2425347df5..2ae6ea5b900 100644 --- a/blog/tag/filesystem-realm/index.html +++ b/blog/tag/filesystem-realm/index.html @@ -832,6 +832,10 @@

Tags

+ adapter
+ + + aes
@@ -964,6 +968,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1184,6 +1192,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/galleon-pack/index.html b/blog/tag/galleon-pack/index.html new file mode 100644 index 00000000000..ef8ee0c5f27 --- /dev/null +++ b/blog/tag/galleon-pack/index.html @@ -0,0 +1,704 @@ + + + + + + Elytron: galleon-pack + + + + + + + + + + + + + + + + + +galleon-pack | WildFly Elytron + + + + + + + + + + + + + + + + + +
+
+
+ +

WildFly Elytron

+ +
+ +
+
+
+

WildFly Elytron

+ +
+
+
+ +
+
+ +
+ +
+ +
+
+
+ +
+
+ + +
+
+ Securing WildFly Apps with SAML on OpenShift +
+ + + +
+ +

Learn how to secure applications deployed to WildFly on OpenShift with SAML.

+ +
+ +
+ + +
+
+ +
+
+ +
+

Tags

+ + + + + acme
+ + + + adapter
+ + + + aes
+ + + + algorithm
+ + + + ama
+ + + + anomaly-detection
+ + + + audit-logging
+ + + + authentication
+ + + + authorization
+ + + + basic
+ + + + bearer
+ + + + certificate
+ + + + cli
+ + + + client
+ + + + client-cert
+ + + + client-config
+ + + + console
+ + + + credential-store
+ + + + custom-component
+ + + + custom-principal
+ + + + default-ssl-context
+ + + + delegation
+ + + + digest
+ + + + distributed-realm
+ + + + dynamic
+ + + + ejb
+ + + + encoding
+ + + + encryption
+ + + + expression
+ + + + external
+ + + + factory
+ + + + failover-realm
+ + + + faq
+ + + + filesystem-realm
+ + + + galleon
+ + + + galleon-pack
+ + + + ghc
+ + + + ghc22
+ + + + ghc23
+ + + + git-persistence
+ + + + git-tips
+ + + + github
+ + + + hacktoberfest
+ + + + hash
+ + + + http
+ + + + https
+ + + + identity
+ + + + integrity
+ + + + intrusion-detection
+ + + + jaas
+ + + + jaspi
+ + + + java
+ + + + jetty
+ + + + jvm
+ + + + kerberos
+ + + + keycloak
+ + + + keystore
+ + + + ldap
+ + + + lets-encrypt
+ + + + login-context
+ + + + login-module
+ + + + machine-learning
+ + + + management
+ + + + management-model
+ + + + migration
+ + + + netty
+ + + + oath2
+ + + + oidc
+ + + + openshift
+ + + + opensource
+ + + + opensourceday
+ + + + openssl
+ + + + osd
+ + + + peer
+ + + + permissions
+ + + + planning
+ + + + principal
+ + + + principal-decoder
+ + + + principal-propagation
+ + + + principal-transformer
+ + + + properties
+ + + + provider
+ + + + realm
+ + + + realm-mapper
+ + + + recap
+ + + + release
+ + + + remote
+ + + + resteasy
+ + + + rfc
+ + + + role-mapper
+ + + + rule-engine
+ + + + saml
+ + + + sasl
+ + + + security-events
+ + + + security-realm
+ + + + sha-256
+ + + + sha-512-256
+ + + + sni
+ + + + spi
+ + + + spnego
+ + + + ssh
+ + + + ssl
+ + + + ssl-context
+ + + + sso
+ + + + tls
+ + + + token
+ + + + tool
+ + + + trust-manager
+ + + + truststore
+ + + + undertow
+ + + + updates
+ + + + ux
+ + + + vault
+ + + + vlog
+ + + + webservices
+ + + + x509
+ +
+
+
+
+
+
+ + diff --git a/blog/tag/galleon/index.html b/blog/tag/galleon/index.html index e7e953eb59d..a215baccd93 100644 --- a/blog/tag/galleon/index.html +++ b/blog/tag/galleon/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ghc/index.html b/blog/tag/ghc/index.html index 5d0ab956640..e078e7e8abc 100644 --- a/blog/tag/ghc/index.html +++ b/blog/tag/ghc/index.html @@ -336,6 +336,10 @@

Tags

+ adapter
+ + + aes
@@ -468,6 +472,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -688,6 +696,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ghc22/index.html b/blog/tag/ghc22/index.html index 120fb852118..560c14d3f48 100644 --- a/blog/tag/ghc22/index.html +++ b/blog/tag/ghc22/index.html @@ -278,6 +278,10 @@

Tags

+ adapter
+ + + aes
@@ -410,6 +414,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -630,6 +638,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ghc23/index.html b/blog/tag/ghc23/index.html index 4c7b6830858..26bece56d49 100644 --- a/blog/tag/ghc23/index.html +++ b/blog/tag/ghc23/index.html @@ -286,6 +286,10 @@

Tags

+ adapter
+ + + aes
@@ -418,6 +422,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -638,6 +646,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/git-persistence/index.html b/blog/tag/git-persistence/index.html index beb5ca9eb21..be73a98700d 100644 --- a/blog/tag/git-persistence/index.html +++ b/blog/tag/git-persistence/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/git-tips/index.html b/blog/tag/git-tips/index.html index 7b2cbabe34c..1d8b2aa5a0f 100644 --- a/blog/tag/git-tips/index.html +++ b/blog/tag/git-tips/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/github/index.html b/blog/tag/github/index.html index e50fa1e21c5..7db9ed70197 100644 --- a/blog/tag/github/index.html +++ b/blog/tag/github/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/hacktoberfest/index.html b/blog/tag/hacktoberfest/index.html index 7f9a143ee41..aa28c461580 100644 --- a/blog/tag/hacktoberfest/index.html +++ b/blog/tag/hacktoberfest/index.html @@ -278,6 +278,10 @@

Tags

+ adapter
+ + + aes
@@ -410,6 +414,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -630,6 +638,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/hash/index.html b/blog/tag/hash/index.html index 4cbd0f5762f..1efaff21711 100644 --- a/blog/tag/hash/index.html +++ b/blog/tag/hash/index.html @@ -282,6 +282,10 @@

Tags

+ adapter
+ + + aes
@@ -414,6 +418,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -634,6 +642,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/http/index.html b/blog/tag/http/index.html index 705c25bec57..581a9e47cd9 100644 --- a/blog/tag/http/index.html +++ b/blog/tag/http/index.html @@ -544,6 +544,10 @@

Tags

+ adapter
+ + + aes
@@ -676,6 +680,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -896,6 +904,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/https/index.html b/blog/tag/https/index.html index f61557ed706..ac715ae6a08 100644 --- a/blog/tag/https/index.html +++ b/blog/tag/https/index.html @@ -240,6 +240,10 @@

Tags

+ adapter
+ + + aes
@@ -372,6 +376,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -592,6 +600,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/identity/index.html b/blog/tag/identity/index.html index 35e537b192a..3317e09e76b 100644 --- a/blog/tag/identity/index.html +++ b/blog/tag/identity/index.html @@ -230,6 +230,10 @@

Tags

+ adapter
+ + + aes
@@ -362,6 +366,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -582,6 +590,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/integrity/index.html b/blog/tag/integrity/index.html index 07c0511c30b..624028f0a8f 100644 --- a/blog/tag/integrity/index.html +++ b/blog/tag/integrity/index.html @@ -330,6 +330,10 @@

Tags

+ adapter
+ + + aes
@@ -462,6 +466,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -682,6 +690,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/intrusion-detection/index.html b/blog/tag/intrusion-detection/index.html index 2c02b9cc90f..3ab8e95fe36 100644 --- a/blog/tag/intrusion-detection/index.html +++ b/blog/tag/intrusion-detection/index.html @@ -328,6 +328,10 @@

Tags

+ adapter
+ + + aes
@@ -460,6 +464,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -680,6 +688,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/jaas/index.html b/blog/tag/jaas/index.html index a062669011e..864773ef936 100644 --- a/blog/tag/jaas/index.html +++ b/blog/tag/jaas/index.html @@ -292,6 +292,10 @@

Tags

+ adapter
+ + + aes
@@ -424,6 +428,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -644,6 +652,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/jaspi/index.html b/blog/tag/jaspi/index.html index 9fc8ee543f8..28bd044ada5 100644 --- a/blog/tag/jaspi/index.html +++ b/blog/tag/jaspi/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/java/index.html b/blog/tag/java/index.html index 5b11148fb0d..ab31aaefd8f 100644 --- a/blog/tag/java/index.html +++ b/blog/tag/java/index.html @@ -392,6 +392,10 @@

Tags

+ adapter
+ + + aes
@@ -524,6 +528,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -744,6 +752,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/jetty/index.html b/blog/tag/jetty/index.html index 2dd9c872031..47f627d5306 100644 --- a/blog/tag/jetty/index.html +++ b/blog/tag/jetty/index.html @@ -228,6 +228,10 @@

Tags

+ adapter
+ + + aes
@@ -360,6 +364,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -580,6 +588,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/jvm/index.html b/blog/tag/jvm/index.html index c4b61f7202c..fc7c459c01f 100644 --- a/blog/tag/jvm/index.html +++ b/blog/tag/jvm/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/kerberos/index.html b/blog/tag/kerberos/index.html index 0e99b8e13dd..a1ace9d7473 100644 --- a/blog/tag/kerberos/index.html +++ b/blog/tag/kerberos/index.html @@ -322,6 +322,10 @@

Tags

+ adapter
+ + + aes
@@ -454,6 +458,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -674,6 +682,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/keycloak/index.html b/blog/tag/keycloak/index.html index 0be8a5b2deb..1b5d16203c8 100644 --- a/blog/tag/keycloak/index.html +++ b/blog/tag/keycloak/index.html @@ -166,6 +166,60 @@
+
+
+ Securing WildFly Apps with SAML on OpenShift +
+ + + +
+ +

Learn how to secure applications deployed to WildFly on OpenShift with SAML.

+ +
+ +
+ +
Securing the WildFly Management Console with OpenID Connect @@ -338,6 +392,10 @@

Tags

+ adapter
+ + + aes
@@ -470,6 +528,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -690,6 +752,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/keystore/index.html b/blog/tag/keystore/index.html index df05ca7b205..db6de8dffd8 100644 --- a/blog/tag/keystore/index.html +++ b/blog/tag/keystore/index.html @@ -292,6 +292,10 @@

Tags

+ adapter
+ + + aes
@@ -424,6 +428,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -644,6 +652,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ldap/index.html b/blog/tag/ldap/index.html index e54ba7ea150..c1bb343218e 100644 --- a/blog/tag/ldap/index.html +++ b/blog/tag/ldap/index.html @@ -282,6 +282,10 @@

Tags

+ adapter
+ + + aes
@@ -414,6 +418,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -634,6 +642,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/lets-encrypt/index.html b/blog/tag/lets-encrypt/index.html index d2c00292068..0300a9f4cf4 100644 --- a/blog/tag/lets-encrypt/index.html +++ b/blog/tag/lets-encrypt/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/login-context/index.html b/blog/tag/login-context/index.html index 7c5cab1e674..02f18219595 100644 --- a/blog/tag/login-context/index.html +++ b/blog/tag/login-context/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/login-module/index.html b/blog/tag/login-module/index.html index 7c5152d4cd0..efff07888a8 100644 --- a/blog/tag/login-module/index.html +++ b/blog/tag/login-module/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/machine-learning/index.html b/blog/tag/machine-learning/index.html index ae529fbe97c..8fd4d7d17a4 100644 --- a/blog/tag/machine-learning/index.html +++ b/blog/tag/machine-learning/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/management-model/index.html b/blog/tag/management-model/index.html index e824b81da39..85299a105d2 100644 --- a/blog/tag/management-model/index.html +++ b/blog/tag/management-model/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/management/index.html b/blog/tag/management/index.html index 42fc9481f31..abe0da56d2e 100644 --- a/blog/tag/management/index.html +++ b/blog/tag/management/index.html @@ -436,6 +436,10 @@

Tags

+ adapter
+ + + aes
@@ -568,6 +572,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -788,6 +796,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/migration/index.html b/blog/tag/migration/index.html index 3898b70f1e1..3f18b45516a 100644 --- a/blog/tag/migration/index.html +++ b/blog/tag/migration/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/netty/index.html b/blog/tag/netty/index.html index e871d279c90..86215d99cba 100644 --- a/blog/tag/netty/index.html +++ b/blog/tag/netty/index.html @@ -236,6 +236,10 @@

Tags

+ adapter
+ + + aes
@@ -368,6 +372,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -588,6 +596,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/oath2/index.html b/blog/tag/oath2/index.html index 6d149a827a0..5112b4ea8a3 100644 --- a/blog/tag/oath2/index.html +++ b/blog/tag/oath2/index.html @@ -236,6 +236,10 @@

Tags

+ adapter
+ + + aes
@@ -368,6 +372,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -588,6 +596,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/oidc/index.html b/blog/tag/oidc/index.html index 13c65cf317e..d9fe0a40306 100644 --- a/blog/tag/oidc/index.html +++ b/blog/tag/oidc/index.html @@ -532,6 +532,10 @@

Tags

+ adapter
+ + + aes
@@ -664,6 +668,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -884,6 +892,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/openshift/index.html b/blog/tag/openshift/index.html index dd21bb30762..adbc425bd19 100644 --- a/blog/tag/openshift/index.html +++ b/blog/tag/openshift/index.html @@ -166,6 +166,60 @@
+
+
+ Securing WildFly Apps with SAML on OpenShift +
+ + + +
+ +

Learn how to secure applications deployed to WildFly on OpenShift with SAML.

+ +
+ +
+ +
Vlog: Securing a WildFly Application with OpenID Connect on OpenShift @@ -232,6 +286,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +422,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +646,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/opensource/index.html b/blog/tag/opensource/index.html index 3d52e1d6dc4..9df9cc5eb6b 100644 --- a/blog/tag/opensource/index.html +++ b/blog/tag/opensource/index.html @@ -616,6 +616,10 @@

Tags

+ adapter
+ + + aes
@@ -748,6 +752,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -968,6 +976,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/opensourceday/index.html b/blog/tag/opensourceday/index.html index 0f934b33d04..169c4993244 100644 --- a/blog/tag/opensourceday/index.html +++ b/blog/tag/opensourceday/index.html @@ -386,6 +386,10 @@

Tags

+ adapter
+ + + aes
@@ -518,6 +522,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -738,6 +746,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/openssl/index.html b/blog/tag/openssl/index.html index 4235784f5bb..056af8f5700 100644 --- a/blog/tag/openssl/index.html +++ b/blog/tag/openssl/index.html @@ -280,6 +280,10 @@

Tags

+ adapter
+ + + aes
@@ -412,6 +416,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -632,6 +640,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/osd/index.html b/blog/tag/osd/index.html index 9854bc0f433..0d0bbf7c0cc 100644 --- a/blog/tag/osd/index.html +++ b/blog/tag/osd/index.html @@ -286,6 +286,10 @@

Tags

+ adapter
+ + + aes
@@ -418,6 +422,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -638,6 +646,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/peer/index.html b/blog/tag/peer/index.html index 493ed6c28b6..5b61ac1a99c 100644 --- a/blog/tag/peer/index.html +++ b/blog/tag/peer/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/permissions/index.html b/blog/tag/permissions/index.html index 927588b3034..24e441718a7 100644 --- a/blog/tag/permissions/index.html +++ b/blog/tag/permissions/index.html @@ -228,6 +228,10 @@

Tags

+ adapter
+ + + aes
@@ -360,6 +364,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -580,6 +588,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/planning/index.html b/blog/tag/planning/index.html index 6318ce53159..cb4c73458be 100644 --- a/blog/tag/planning/index.html +++ b/blog/tag/planning/index.html @@ -412,6 +412,10 @@

Tags

+ adapter
+ + + aes
@@ -544,6 +548,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -764,6 +772,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/principal-decoder/index.html b/blog/tag/principal-decoder/index.html index 596437a9235..012157b54e7 100644 --- a/blog/tag/principal-decoder/index.html +++ b/blog/tag/principal-decoder/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/principal-propagation/index.html b/blog/tag/principal-propagation/index.html index b97a16af023..78e1ae0c62e 100644 --- a/blog/tag/principal-propagation/index.html +++ b/blog/tag/principal-propagation/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/principal-transformer/index.html b/blog/tag/principal-transformer/index.html index 91045060a91..d8c297e0ce1 100644 --- a/blog/tag/principal-transformer/index.html +++ b/blog/tag/principal-transformer/index.html @@ -424,6 +424,10 @@

Tags

+ adapter
+ + + aes
@@ -556,6 +560,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -776,6 +784,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/principal/index.html b/blog/tag/principal/index.html index fc69688b79e..0be0c1b1665 100644 --- a/blog/tag/principal/index.html +++ b/blog/tag/principal/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/properties/index.html b/blog/tag/properties/index.html index e5c110ea77f..9d7a0382672 100644 --- a/blog/tag/properties/index.html +++ b/blog/tag/properties/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/provider/index.html b/blog/tag/provider/index.html index b4b3c3fcbb8..865656e089c 100644 --- a/blog/tag/provider/index.html +++ b/blog/tag/provider/index.html @@ -238,6 +238,10 @@

Tags

+ adapter
+ + + aes
@@ -370,6 +374,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -590,6 +598,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/realm-mapper/index.html b/blog/tag/realm-mapper/index.html index a0a86999232..f4be216a3af 100644 --- a/blog/tag/realm-mapper/index.html +++ b/blog/tag/realm-mapper/index.html @@ -278,6 +278,10 @@

Tags

+ adapter
+ + + aes
@@ -410,6 +414,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -630,6 +638,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/realm/index.html b/blog/tag/realm/index.html index 804242334b3..f0036f3af7a 100644 --- a/blog/tag/realm/index.html +++ b/blog/tag/realm/index.html @@ -330,6 +330,10 @@

Tags

+ adapter
+ + + aes
@@ -462,6 +466,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -682,6 +690,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/recap/index.html b/blog/tag/recap/index.html index 3da40f68e83..8a4dd5706aa 100644 --- a/blog/tag/recap/index.html +++ b/blog/tag/recap/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/release/index.html b/blog/tag/release/index.html index 5ac1ac1933a..5fd7bc7a586 100644 --- a/blog/tag/release/index.html +++ b/blog/tag/release/index.html @@ -570,6 +570,10 @@

Tags

+ adapter
+ + + aes
@@ -702,6 +706,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -922,6 +930,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/remote/index.html b/blog/tag/remote/index.html index 1dc974d58ff..88118722459 100644 --- a/blog/tag/remote/index.html +++ b/blog/tag/remote/index.html @@ -382,6 +382,10 @@

Tags

+ adapter
+ + + aes
@@ -514,6 +518,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -734,6 +742,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/resteasy/index.html b/blog/tag/resteasy/index.html index e9b4b576ac0..89dbc5da669 100644 --- a/blog/tag/resteasy/index.html +++ b/blog/tag/resteasy/index.html @@ -292,6 +292,10 @@

Tags

+ adapter
+ + + aes
@@ -424,6 +428,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -644,6 +652,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/rfc/index.html b/blog/tag/rfc/index.html index 1dc9d1f079c..7f0097937c7 100644 --- a/blog/tag/rfc/index.html +++ b/blog/tag/rfc/index.html @@ -274,6 +274,10 @@

Tags

+ adapter
+ + + aes
@@ -406,6 +410,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -626,6 +634,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/role-mapper/index.html b/blog/tag/role-mapper/index.html index 1b60756c0c7..540052e103a 100644 --- a/blog/tag/role-mapper/index.html +++ b/blog/tag/role-mapper/index.html @@ -228,6 +228,10 @@

Tags

+ adapter
+ + + aes
@@ -360,6 +364,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -580,6 +588,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/rule-engine/index.html b/blog/tag/rule-engine/index.html index 5ef5d64fb1b..04cf8270cb2 100644 --- a/blog/tag/rule-engine/index.html +++ b/blog/tag/rule-engine/index.html @@ -230,6 +230,10 @@

Tags

+ adapter
+ + + aes
@@ -362,6 +366,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -582,6 +590,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/saml/index.html b/blog/tag/saml/index.html new file mode 100644 index 00000000000..6c017618ad3 --- /dev/null +++ b/blog/tag/saml/index.html @@ -0,0 +1,704 @@ + + + + + + Elytron: saml + + + + + + + + + + + + + + + + + +saml | WildFly Elytron + + + + + + + + + + + + + + + + + +
+
+
+ +

WildFly Elytron

+ +
+ +
+
+
+

WildFly Elytron

+ +
+
+
+ +
+
+ +
+ +
+ +
+
+
+ +
+
+ + +
+
+ Securing WildFly Apps with SAML on OpenShift +
+ + + +
+ +

Learn how to secure applications deployed to WildFly on OpenShift with SAML.

+ +
+ +
+ + +
+
+ +
+
+ +
+

Tags

+ + + + + acme
+ + + + adapter
+ + + + aes
+ + + + algorithm
+ + + + ama
+ + + + anomaly-detection
+ + + + audit-logging
+ + + + authentication
+ + + + authorization
+ + + + basic
+ + + + bearer
+ + + + certificate
+ + + + cli
+ + + + client
+ + + + client-cert
+ + + + client-config
+ + + + console
+ + + + credential-store
+ + + + custom-component
+ + + + custom-principal
+ + + + default-ssl-context
+ + + + delegation
+ + + + digest
+ + + + distributed-realm
+ + + + dynamic
+ + + + ejb
+ + + + encoding
+ + + + encryption
+ + + + expression
+ + + + external
+ + + + factory
+ + + + failover-realm
+ + + + faq
+ + + + filesystem-realm
+ + + + galleon
+ + + + galleon-pack
+ + + + ghc
+ + + + ghc22
+ + + + ghc23
+ + + + git-persistence
+ + + + git-tips
+ + + + github
+ + + + hacktoberfest
+ + + + hash
+ + + + http
+ + + + https
+ + + + identity
+ + + + integrity
+ + + + intrusion-detection
+ + + + jaas
+ + + + jaspi
+ + + + java
+ + + + jetty
+ + + + jvm
+ + + + kerberos
+ + + + keycloak
+ + + + keystore
+ + + + ldap
+ + + + lets-encrypt
+ + + + login-context
+ + + + login-module
+ + + + machine-learning
+ + + + management
+ + + + management-model
+ + + + migration
+ + + + netty
+ + + + oath2
+ + + + oidc
+ + + + openshift
+ + + + opensource
+ + + + opensourceday
+ + + + openssl
+ + + + osd
+ + + + peer
+ + + + permissions
+ + + + planning
+ + + + principal
+ + + + principal-decoder
+ + + + principal-propagation
+ + + + principal-transformer
+ + + + properties
+ + + + provider
+ + + + realm
+ + + + realm-mapper
+ + + + recap
+ + + + release
+ + + + remote
+ + + + resteasy
+ + + + rfc
+ + + + role-mapper
+ + + + rule-engine
+ + + + saml
+ + + + sasl
+ + + + security-events
+ + + + security-realm
+ + + + sha-256
+ + + + sha-512-256
+ + + + sni
+ + + + spi
+ + + + spnego
+ + + + ssh
+ + + + ssl
+ + + + ssl-context
+ + + + sso
+ + + + tls
+ + + + token
+ + + + tool
+ + + + trust-manager
+ + + + truststore
+ + + + undertow
+ + + + updates
+ + + + ux
+ + + + vault
+ + + + vlog
+ + + + webservices
+ + + + x509
+ +
+
+
+
+
+
+ + diff --git a/blog/tag/sasl/index.html b/blog/tag/sasl/index.html index df4ec4672f3..9cfc1809924 100644 --- a/blog/tag/sasl/index.html +++ b/blog/tag/sasl/index.html @@ -350,6 +350,10 @@

Tags

+ adapter
+ + + aes
@@ -482,6 +486,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -702,6 +710,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/security-events/index.html b/blog/tag/security-events/index.html index 3ade1e07dfc..b87b5fc51ba 100644 --- a/blog/tag/security-events/index.html +++ b/blog/tag/security-events/index.html @@ -230,6 +230,10 @@

Tags

+ adapter
+ + + aes
@@ -362,6 +366,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -582,6 +590,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/security-realm/index.html b/blog/tag/security-realm/index.html index 868b5d84144..105f637a900 100644 --- a/blog/tag/security-realm/index.html +++ b/blog/tag/security-realm/index.html @@ -442,6 +442,10 @@

Tags

+ adapter
+ + + aes
@@ -574,6 +578,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -794,6 +802,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/sha-256/index.html b/blog/tag/sha-256/index.html index 4032fc4468c..3c847dea0e4 100644 --- a/blog/tag/sha-256/index.html +++ b/blog/tag/sha-256/index.html @@ -242,6 +242,10 @@

Tags

+ adapter
+ + + aes
@@ -374,6 +378,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -594,6 +602,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/sha-512-256/index.html b/blog/tag/sha-512-256/index.html index 9b54b896c4f..828eac14ca0 100644 --- a/blog/tag/sha-512-256/index.html +++ b/blog/tag/sha-512-256/index.html @@ -242,6 +242,10 @@

Tags

+ adapter
+ + + aes
@@ -374,6 +378,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -594,6 +602,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/sni/index.html b/blog/tag/sni/index.html index 9c96c0007ea..66a9dfcc1b6 100644 --- a/blog/tag/sni/index.html +++ b/blog/tag/sni/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/spi/index.html b/blog/tag/spi/index.html index 0e143a45010..efc37f3058d 100644 --- a/blog/tag/spi/index.html +++ b/blog/tag/spi/index.html @@ -236,6 +236,10 @@

Tags

+ adapter
+ + + aes
@@ -368,6 +372,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -588,6 +596,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/spnego/index.html b/blog/tag/spnego/index.html index ef90dc8eb45..829a7e3c934 100644 --- a/blog/tag/spnego/index.html +++ b/blog/tag/spnego/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ssh/index.html b/blog/tag/ssh/index.html index 7ec392c4020..59b08284af9 100644 --- a/blog/tag/ssh/index.html +++ b/blog/tag/ssh/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ssl-context/index.html b/blog/tag/ssl-context/index.html index 21185b18791..032b6a6facb 100644 --- a/blog/tag/ssl-context/index.html +++ b/blog/tag/ssl-context/index.html @@ -344,6 +344,10 @@

Tags

+ adapter
+ + + aes
@@ -476,6 +480,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -696,6 +704,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ssl/index.html b/blog/tag/ssl/index.html index 53732aee3f6..9a9bb1d2489 100644 --- a/blog/tag/ssl/index.html +++ b/blog/tag/ssl/index.html @@ -1256,6 +1256,10 @@

Tags

+ adapter
+ + + aes
@@ -1388,6 +1392,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1608,6 +1616,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/sso/index.html b/blog/tag/sso/index.html index 0c8479406f8..0a83183edde 100644 --- a/blog/tag/sso/index.html +++ b/blog/tag/sso/index.html @@ -236,6 +236,10 @@

Tags

+ adapter
+ + + aes
@@ -368,6 +372,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -588,6 +596,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/tls/index.html b/blog/tag/tls/index.html index 967756adb3e..dd2d57687e1 100644 --- a/blog/tag/tls/index.html +++ b/blog/tag/tls/index.html @@ -1318,6 +1318,10 @@

Tags

+ adapter
+ + + aes
@@ -1450,6 +1454,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -1670,6 +1678,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/token/index.html b/blog/tag/token/index.html index c77a2d84b31..66f9f7092fa 100644 --- a/blog/tag/token/index.html +++ b/blog/tag/token/index.html @@ -242,6 +242,10 @@

Tags

+ adapter
+ + + aes
@@ -374,6 +378,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -594,6 +602,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/tool/index.html b/blog/tag/tool/index.html index d41e48bbe37..47513d1728b 100644 --- a/blog/tag/tool/index.html +++ b/blog/tag/tool/index.html @@ -282,6 +282,10 @@

Tags

+ adapter
+ + + aes
@@ -414,6 +418,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -634,6 +642,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/trust-manager/index.html b/blog/tag/trust-manager/index.html index 9515f1176a0..25422427b89 100644 --- a/blog/tag/trust-manager/index.html +++ b/blog/tag/trust-manager/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/truststore/index.html b/blog/tag/truststore/index.html index 52af56bf050..1f466a074b0 100644 --- a/blog/tag/truststore/index.html +++ b/blog/tag/truststore/index.html @@ -240,6 +240,10 @@

Tags

+ adapter
+ + + aes
@@ -372,6 +376,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -592,6 +600,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/undertow/index.html b/blog/tag/undertow/index.html index c847443b05d..872bd5f2291 100644 --- a/blog/tag/undertow/index.html +++ b/blog/tag/undertow/index.html @@ -438,6 +438,10 @@

Tags

+ adapter
+ + + aes
@@ -570,6 +574,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -790,6 +798,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/updates/index.html b/blog/tag/updates/index.html index 6580a979fb7..4b12b175bd4 100644 --- a/blog/tag/updates/index.html +++ b/blog/tag/updates/index.html @@ -278,6 +278,10 @@

Tags

+ adapter
+ + + aes
@@ -410,6 +414,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -630,6 +638,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/ux/index.html b/blog/tag/ux/index.html index 290eed43f51..2a9ee370936 100644 --- a/blog/tag/ux/index.html +++ b/blog/tag/ux/index.html @@ -232,6 +232,10 @@

Tags

+ adapter
+ + + aes
@@ -364,6 +368,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -584,6 +592,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/vault/index.html b/blog/tag/vault/index.html index cfe32494cb7..cb21daab354 100644 --- a/blog/tag/vault/index.html +++ b/blog/tag/vault/index.html @@ -234,6 +234,10 @@

Tags

+ adapter
+ + + aes
@@ -366,6 +370,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -586,6 +594,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/vlog/index.html b/blog/tag/vlog/index.html index d40f27d9251..e890173e043 100644 --- a/blog/tag/vlog/index.html +++ b/blog/tag/vlog/index.html @@ -332,6 +332,10 @@

Tags

+ adapter
+ + + aes
@@ -464,6 +468,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -684,6 +692,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/webservices/index.html b/blog/tag/webservices/index.html index 0fb3e55f5e6..331b53b70d2 100644 --- a/blog/tag/webservices/index.html +++ b/blog/tag/webservices/index.html @@ -280,6 +280,10 @@

Tags

+ adapter
+ + + aes
@@ -412,6 +416,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -632,6 +640,10 @@

Tags

+ saml
+ + + sasl
diff --git a/blog/tag/x509/index.html b/blog/tag/x509/index.html index 5545ec14509..2ca2873b912 100644 --- a/blog/tag/x509/index.html +++ b/blog/tag/x509/index.html @@ -280,6 +280,10 @@

Tags

+ adapter
+ + + aes
@@ -412,6 +416,10 @@

Tags

+ galleon-pack
+ + + ghc
@@ -632,6 +640,10 @@

Tags

+ saml
+ + + sasl
diff --git a/feed.xml b/feed.xml index bf1673b911f..ad3d2b643cb 100644 --- a/feed.xml +++ b/feed.xml @@ -5,7 +5,21 @@ WildFly Elytron https://wildfly-security.github.io/wildfly-elytron - Wed, 06 Sep 2023 15:25:04 +0000 + Wed, 06 Sep 2023 17:49:38 +0000 + + + Securing WildFly Apps with SAML on OpenShift + + https://wildfly-security.github.io/wildfly-elytron/blog/securing-wildfly-apps-saml-openshift/ + + + Starting with WildFly 29, you can use Galleon to add Keycloak’s SAML adapter to your WildFly installation using the new Keycloak SAML Adapter feature pack. In this guide, we’ll show how to secure an application deployed to WildFly on OpenShift with SAML. Prerequisites Example Application Log Into the OpenShift Cluster... + + Wed, 06 Sep 2023 00:00:00 +0000 + + https://wildfly-security.github.io/wildfly-elytron/blog/securing-wildfly-apps-saml-openshift/ + + Vlog: Join us at Open Source Day, No Prior Experience Needed @@ -133,19 +147,5 @@ - - Vlog: Git Tips on Upstream Repositories and Merge Conflicts - - https://www.youtube.com/watch?v=v5d6x3kT7lU - - - - - Thu, 10 Nov 2022 00:00:00 +0000 - - https://www.youtube.com/watch?v=v5d6x3kT7lU - - -