SlideShare ist ein Scribd-Unternehmen logo
Securing infrastructure
with Keycloak
About me
● Software Engineer at Red Hat.
● Red Hat Certified Architect with certifications in
Ansible, Puppet, Openshift, Docker and Linux
administration.
● Follow me on:
○ Twitter: @rabajaj_
○ Github: https://github.com/rabajaj0509
○ Blog: https://rahulbajaj05.wordpress.com
@rabajaj_
Agenda
1. Conceptual Aside
a. Authentication
b. JSON web tokens
c. Oauth 2.0
d. Openid connect
e. Oauth 2.0 workflows
2. Keycloak as an openid provider
3. Single sign on(SSO) for foreman project
@rabajaj_
Conceptual Aside
1. Authentication
2. JSON Web Token (JWT)
3. Oauth 2.0
4. Oauth 2.0 workflows
5. Openid Connect
Part I
@rabajaj_
Authentication
Authentication is the
process used by applications
to determine and confirm
identities of users.
@rabajaj_
Authentication
Password Authentication Token based Authentication
@rabajaj_
JSON WEB token
eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJrNkp3YmtHOTNsQThaM01
yTFkwIn0.eyJqdGkiOiJkN2Y1MmQyZS0yMDk3LTQwNDEtOWM4NC1jMzQ5ZDdmNWZj
NzUiLCJleHAiOjE1Nzk0MzE4NDIsIm5iZiI6MCwiaWF0IjoxNTc5NDMxNzgyLZF91c2Vyb
mFtZSI6InRlc3QiLCJnaXZlbl9uYW1lIjoidGVzdDEiLCJmYZ0kcmoLs9JHk43xkz_byJte
nKpqwrNNDTF3UHsxn4I8doBW1pbHlfbmFtZSI6InRlc3QyIiwiZW1haWwiOiJ0ZXN0QH
Rlc3QuY29tIn0.NZ_TDotrL4Nyi1cEGlDs5KDBlml8urlKBvk5R9hXkLJXzgseqpMKtsGQ
PCOC7jzmjw
@rabajaj_
Json WEb token
eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJrNkp3YmtHOTNsQ
ThaM01yTFkwIn0.eyJqdGkiOiJkN2Y1MmQyZS0yMDk3LTQwNDEtOWM4NC1jMz
Q5ZDdmNWZjNzUiLCJleHAiOjE1Nzk0MzE4NDIsIm5iZiI6MCwiaWF0IjoxNTc5N
DMxNzgyLZF91c2VybmFtZSI6InRlc3QiLCJnaXZlbl9uYW1lIjoidGVzdDEiLCJmY
Z0kcmoLs9JHk43xkz_byJtenKpqwrNNDTF3UHsxn4I8doBW1pbHlfbmFtZSI6In
Rlc3QyIiwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIn0.NZ_TDotrL4Nyi1cEGlDs5K
DBlml8urlKBvk5R9hXkLJXzgseqpMKtsGQPCOC7jzmjw
@rabajaj_
Json WEb token
eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJrNkp3YmtHOTNsQ
ThaM01yTFkwIn0.eyJqdGkiOiJkN2Y1MmQyZS0yMDk3LTQwNDEtOWM4NC1jMz
Q5ZDdmNWZjNzUiLCJleHAiOjE1Nzk0MzE4NDIsIm5iZiI6MCwiaWF0IjoxNTc5N
DMxNzgyLZF91c2VybmFtZSI6InRlc3QiLCJnaXZlbl9uYW1lIjoidGVzdDEiLCJmY
Z0kcmoLs9JHk43xkz_byJtenKpqwrNNDTF3UHsxn4I8doBW1pbHlfbmFtZSI6In
Rlc3QyIiwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIn0.NZ_TDotrL4Nyi1cEGlDs5K
DBlml8urlKBvk5R9hXkLJXzgseqpMKtsGQPCOC7jzmjw
Header
{
"alg": "RS256",
"typ": "JWT",
}
@rabajaj_
Json WEb token
eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJrNkp3YmtHOTNsQ
ThaM01yTFkwIn0.eyJqdGkiOiJkN2Y1MmQyZS0yMDk3LTQwNDEtOWM4NC1jMz
Q5ZDdmNWZjNzUiLCJleHAiOjE1Nzk0MzE4NDIsIm5iZiI6MCwiaWF0IjoxNTc5N
DMxNzgyLZF91c2VybmFtZSI6InRlc3QiLCJnaXZlbl9uYW1lIjoidGVzdDEiLCJmY
Z0kcmoLs9JHk43xkz_byJtenKpqwrNNDTF3UHsxn4I8doBW1pbHlfbmFtZSI6In
Rlc3QyIiwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIn0.NZ_TDotrL4Nyi1cEGlDs5K
DBlml8urlKBvk5R9hXkLJXzgseqpMKtsGQPCOC7jzmjw
Payload Data
{
"jti": "d7f52d2e-2097-4041-9c84-c349d7f5fc75",
"exp": 1579431842,
"iat": 1579431782,
"iss": "https://keycloak.example.com/auth/realms/ssl-realm",
"aud": [
"foreman.example.com-foreman-openidc",
"broker",
"account"
],
"sub": "5097d158-6638-43b8-8c76-daade8673ed6",
"typ": "Bearer",
"name": "test1 test2",
"groups": [Stackconf],
"preferred_username": "test",
"given_name": "test1",
"family_name": "test2",
"email": "test@example.com"
}@rabajaj_
Json WEb token
eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJrNkp3YmtHOTNsQ
ThaM01yTFkwIn0.eyJqdGkiOiJkN2Y1MmQyZS0yMDk3LTQwNDEtOWM4NC1jMz
Q5ZDdmNWZjNzUiLCJleHAiOjE1Nzk0MzE4NDIsIm5iZiI6MCwiaWF0IjoxNTc5N
DMxNzgyLZF91c2VybmFtZSI6InRlc3QiLCJnaXZlbl9uYW1lIjoidGVzdDEiLCJmY
Z0kcmoLs9JHk43xkz_byJtenKpqwrNNDTF3UHsxn4I8doBW1pbHlfbmFtZSI6In
Rlc3QyIiwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIn0.NZ_TDotrL4Nyi1cEGlDs5K
DBlml8urlKBvk5R9hXkLJXzgseqpMKtsGQPCOC7jzmjw
Signature
@rabajaj_
Oauth 2.0
Authentication
or
Authorization?
@rabajaj_
OAuth 2.0
@rabajaj_ credit: Dominick a.k.a. @leastprivilege
Openid connect
Internet standard for Single Sign On
1. Need to authenticate a user?
2. Send user to their OpenID
Provider
3. Get access token back
@rabajaj_
OAuth 2.0 Workflows
Password Grant Flow Authorization Code Grant FLow
@rabajaj_
Password Grant Flow
@rabajaj_
Authorization Code Grant Flow
@rabajaj_ credit: Dominick a.k.a. @leastprivilege
Keycloak
a. Registering a client
b. Redirect URls
c. Session ManagementAs an OpenID Provider(OP)
Part II
@rabajaj_
register different
clients
According to their access
type
@rabajaj_
Redirect Urls
@rabajaj_
Session Management
@rabajaj_
Refresh Tokens
@rabajaj_ credit: Auth0
Foreman PRoject
a. Introduction to the Foreman
Project.
b. Authentication architecture
for implementing SSO with the
help of Keycloak.
SSO integration with the
Foreman Project
Part III
@rabajaj_
Foreman
@rabajaj_
Authentication
Architecture
Hammer CLI Foreman
1. Hammer requests Keycloak
for token.
3. Passes the token to
Foreman.
6. Saves the sessionid.
2. Keycloak performs
authentication and issues a token
to Hammer if the user is valid.
1,2
3 4. Foreman
validates the Token
and creates a user in
the Foreman
database.
5. Foreman creates a
sessionid and passes
that to Hammer.
4
5
References
Specifications:
● Oauth 2.0 Authorization spec: https://tools.ietf.org/html/rfc6749
● OpenID Connect spec: https://openid.net/developers/specs/
● JSON Web Token spec: https://tools.ietf.org/html/rfc7519
● Proof Key for Code Exchange spec (PKCE):
https://tools.ietf.org/html/rfc7636
Blogs and Journals:
● https://cybersecurity.ieee.org/blog/2016/06/02/design-best-practices-
for-an-authentication-system/
● http://ijcsit.com/docs/Volume%207/vol7issue4/ijcsit2016070406.pdf
References
Videos:
● Authentication as a microservice (by Brian Pontarelli):
https://www.youtube.com/watch?v=SLc3cTlypwM
● OpenID Connect and OAuth 2.0 (by Dominick Baier):
https://www.youtube.com/watch?v=jeRALmfyoqg
● A reasonable guide to security (by Niall Mariggan):
https://www.youtube.com/watch?v=V0rb4SbvuJs
Thank you!
@rabajaj_

Weitere ähnliche Inhalte

Was ist angesagt?

Hacking the Grails Spring Security Plugins
Hacking the Grails Spring Security PluginsHacking the Grails Spring Security Plugins
Hacking the Grails Spring Security Plugins
GR8Conf
 

Was ist angesagt? (20)

OpenId Connect Protocol
OpenId Connect ProtocolOpenId Connect Protocol
OpenId Connect Protocol
 
muCon 2016: Authentication in Microservice Systems By David Borsos
muCon 2016: Authentication in Microservice Systems By David BorsosmuCon 2016: Authentication in Microservice Systems By David Borsos
muCon 2016: Authentication in Microservice Systems By David Borsos
 
2016 pycontw web api authentication
2016 pycontw web api authentication 2016 pycontw web api authentication
2016 pycontw web api authentication
 
ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
 
Building secure applications with keycloak
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak
 
JHipster and Okta - JHipster Virtual Meetup December 2020
JHipster and Okta - JHipster Virtual Meetup December 2020JHipster and Okta - JHipster Virtual Meetup December 2020
JHipster and Okta - JHipster Virtual Meetup December 2020
 
Microservices Manchester: Authentication in Microservice Systems by David Borsos
Microservices Manchester: Authentication in Microservice Systems by David BorsosMicroservices Manchester: Authentication in Microservice Systems by David Borsos
Microservices Manchester: Authentication in Microservice Systems by David Borsos
 
Building layers of defense for your application
Building layers of defense for your applicationBuilding layers of defense for your application
Building layers of defense for your application
 
Authorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsAuthorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice Environments
 
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloakDevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
DevConf.CZ 2020 @ Brno, Czech Republic : WebAuthn support for keycloak
 
JWT SSO Inbound Authenticator
JWT SSO Inbound AuthenticatorJWT SSO Inbound Authenticator
JWT SSO Inbound Authenticator
 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
 
Authentication in microservice systems
Authentication in microservice systemsAuthentication in microservice systems
Authentication in microservice systems
 
Abusing Glype Proxies - Attacks, Exploits and Defences
Abusing Glype Proxies - Attacks, Exploits and DefencesAbusing Glype Proxies - Attacks, Exploits and Defences
Abusing Glype Proxies - Attacks, Exploits and Defences
 
Security Patterns for Microservice Architectures - ADTMag Microservices & API...
Security Patterns for Microservice Architectures - ADTMag Microservices & API...Security Patterns for Microservice Architectures - ADTMag Microservices & API...
Security Patterns for Microservice Architectures - ADTMag Microservices & API...
 
Hacking the Grails Spring Security 2.0 Plugin
Hacking the Grails Spring Security 2.0 PluginHacking the Grails Spring Security 2.0 Plugin
Hacking the Grails Spring Security 2.0 Plugin
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
 
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
Consideration on Holder-of-Key Bound Token < from Financial-grade API (FAPI) ...
 
Identity management and single sign on - how much flexibility
Identity management and single sign on - how much flexibilityIdentity management and single sign on - how much flexibility
Identity management and single sign on - how much flexibility
 
Hacking the Grails Spring Security Plugins
Hacking the Grails Spring Security PluginsHacking the Grails Spring Security Plugins
Hacking the Grails Spring Security Plugins
 

Ähnlich wie stackconf 2020 | Securing Infrastructure with Keycloak by Rahul Bajaj

GSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 ModuleGSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 Module
Mayank Sharma
 

Ähnlich wie stackconf 2020 | Securing Infrastructure with Keycloak by Rahul Bajaj (20)

Adding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your AppAdding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your App
 
Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017
 
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
 
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
 
Authorization and Authentication using IdentityServer4
Authorization and Authentication using IdentityServer4Authorization and Authentication using IdentityServer4
Authorization and Authentication using IdentityServer4
 
Secure your app with keycloak
Secure your app with keycloakSecure your app with keycloak
Secure your app with keycloak
 
Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015
 
Stateless authentication for microservices - Spring I/O 2015
Stateless authentication for microservices  - Spring I/O 2015Stateless authentication for microservices  - Spring I/O 2015
Stateless authentication for microservices - Spring I/O 2015
 
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
[APIdays INTERFACE 2021] The Evolution of API Security for Client-side Applic...
 
INTERFACE, by apidays - The Evolution of API Security by Johann Dilantha Nal...
INTERFACE, by apidays  - The Evolution of API Security by Johann Dilantha Nal...INTERFACE, by apidays  - The Evolution of API Security by Johann Dilantha Nal...
INTERFACE, by apidays - The Evolution of API Security by Johann Dilantha Nal...
 
Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015
 
OAuth with Salesforce - Demystified
OAuth with Salesforce - DemystifiedOAuth with Salesforce - Demystified
OAuth with Salesforce - Demystified
 
FIWARE Tech Summit - Complete Framework for Identity, Access Control and API ...
FIWARE Tech Summit - Complete Framework for Identity, Access Control and API ...FIWARE Tech Summit - Complete Framework for Identity, Access Control and API ...
FIWARE Tech Summit - Complete Framework for Identity, Access Control and API ...
 
OAuth2 and LinkedIn
OAuth2 and LinkedInOAuth2 and LinkedIn
OAuth2 and LinkedIn
 
GSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 ModuleGSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 Module
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
Eliminating Secret Sprawl in the Cloud with HashiCorp Vault - 07.11.2018
Eliminating Secret Sprawl in the Cloud with HashiCorp Vault - 07.11.2018Eliminating Secret Sprawl in the Cloud with HashiCorp Vault - 07.11.2018
Eliminating Secret Sprawl in the Cloud with HashiCorp Vault - 07.11.2018
 
Web API 2 Token Based Authentication
Web API 2 Token Based AuthenticationWeb API 2 Token Based Authentication
Web API 2 Token Based Authentication
 
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 

Kürzlich hochgeladen

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Kürzlich hochgeladen (20)

A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
A Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data MigrationA Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data Migration
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 

stackconf 2020 | Securing Infrastructure with Keycloak by Rahul Bajaj