SlideShare a Scribd company logo
7
Most read
14
Most read
15
Most read
WSO2 - IDENTITY SERVER
Integration with .NET Core
ENG. Ahmed Abouelenein
15 Dec-2021
Notes Demo App
• Demo Web Application to add your notes
• Plans
• Free Add Notes By Title & Details
• Sliver Categorized Notes
• Gold Fancy Color
• Users authenticated By WSO2
• Client : ASP.NET Core MVC Web Application
• API : ASP.NET Core Web API
• https://github.com/ahmedabouelenein/Notes
OAuth2
• OAuth2 is open protocol to allow secure authorization in simple
and standard method from web , mobile and desktop applications
• OAuth for authorization used for issuing and validating access
tokens on the internet
• WSO2 implement OAuth2 standard like other Identity providers
(Identity server , Ping , Trustbuilder , Azure AD …)
OpenID Connect
• OpenID Connect is simple identity layer on top of OAuth2 protocol
• OpenID Connect extend OAuth2
• Used for verifying the identity of end user based on authentication
performed by authorization server
• OpenID Connect fills the OAuth2.0 gap which is intended to provide
authorization but not authentication
OAuth2 Participants
• Resource Owner
• The identity who own the data
• Grants access to protected resources
• Client Application
• App that makes protected resource resquests on behalf of the resource owner and
with its authorization
• Authorization Server
• Server issuing access tokens to the clients
• Authenticates the resource owner and obtains authorization
• Resource Server
• Server that hosts protected resources
• Handle protected resource requests using access tokens
Public and Confidential Clients
• Confidential Client :
• Capable of maintaining the confidentiality of their
credentials eg ( client ID, Client Secret )
• Live on server
• Server side web apps (MVC web Application)
• Public client
• Incapable of maintaining their credentials client ID , client
secrets
• Live on user device ( web browser , mobile device ..)
• Javascript applications and mobile applications
Authorization Code flow
• Flow determine how code and / or token(s) are returned to the
client
• How communication between IDP and Client
• Depend on Application Type (public or confidential) we must use
different flow
• Flow types
• Implicit flow
• Hybrid flow
• Resource owner (Password credential ) flow
• Client credential flow
Authorization endpoint
• Used by client application to obtain authentication and
/or authorization via redirection
• Identity Provider Level
Redirection endpoint
• Used by IDP to return code & token(s) to the client application
• Client Level
Token endpoint
• Used by client application to request tokens (without
redirection) from the IDP
• IDP Level
• Communication Types:
• Front Channel Communication
Browser URL or Form POST
• Back Channel Communication
Server to Server communication (Token end point)
Authorization Code Flow
Authorization Code flow With PKCE
• Authorization code flow is vulnerable to injection attacks
• Attacker can use code to get token and has all privilages of the victim
• PKCE (Proof Key for Code Exchange)
Authorization Code flow With PKCE
Tokens
• Types
• Identity Token (proves that the user has been authenticated)
• Access Token (allows the client application to access the user's resource)
• Refresh Token (offline access)
• Format
• JWT Token (self hosting web token)
• Reference Token
Claims and Scopes
• Claims is a name value pair that represents what the subject is
• Scopes are used to request specific sets of claims.
• OpenId scope is mandatory scope to specify that OpenID Connect should be used.
Inspecting Tokens
Other endpoints
• UserInfo Endpoint
• Introspect Endpoint
Token Validation
• Check that the JWT is well formed.
• Check the signature.
• Check the standard claims.
• Verify token audience claims
Q & A

More Related Content

What's hot (20)

PDF
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Web Services Korea
 
PPTX
Let's Talk About: Azure Networking
Pedro Sousa
 
PDF
Designing APIs with OpenAPI Spec
Adam Paxton
 
PDF
Introduction to SAML 2.0
Mika Koivisto
 
PPTX
Soap vs rest
Antonio Severien
 
PPTX
Toi uu hoa he thong 30 trieu nguoi dung
IT Expert Club
 
PDF
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
PPTX
ELK Stack
Phuc Nguyen
 
PDF
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
 
PPTX
API Management Part 1 - An Introduction to Azure API Management
BizTalk360
 
PDF
Kinh nghiệm triển khai Microservices tại Sapo.vn
Dotnet Open Group
 
PDF
AWS re:Invent re:Cap - 비용 최적화: 모범사례와 아키텍처 설계 기초편 - 이종남
Amazon Web Services Korea
 
PDF
Resource-Oriented Architecture (ROA)
WSO2
 
PDF
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
Amazon Web Services Korea
 
PDF
Data Analyse Black Horse - ClickHouse
Jack Gao
 
PPTX
An Introduction To REST API
Aniruddh Bhilvare
 
PDF
Thiết kế hệ thống E-Commerce yêu cầu mở rộng
Nguyen Minh Quang
 
PPTX
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
문기 박
 
PDF
Building Bizweb Microservices with Docker
Khôi Nguyễn Minh
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Web Services Korea
 
Let's Talk About: Azure Networking
Pedro Sousa
 
Designing APIs with OpenAPI Spec
Adam Paxton
 
Introduction to SAML 2.0
Mika Koivisto
 
Soap vs rest
Antonio Severien
 
Toi uu hoa he thong 30 trieu nguoi dung
IT Expert Club
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
ELK Stack
Phuc Nguyen
 
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
 
API Management Part 1 - An Introduction to Azure API Management
BizTalk360
 
Kinh nghiệm triển khai Microservices tại Sapo.vn
Dotnet Open Group
 
AWS re:Invent re:Cap - 비용 최적화: 모범사례와 아키텍처 설계 기초편 - 이종남
Amazon Web Services Korea
 
Resource-Oriented Architecture (ROA)
WSO2
 
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
Amazon Web Services Korea
 
Data Analyse Black Horse - ClickHouse
Jack Gao
 
An Introduction To REST API
Aniruddh Bhilvare
 
Thiết kế hệ thống E-Commerce yêu cầu mở rộng
Nguyen Minh Quang
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
문기 박
 
Building Bizweb Microservices with Docker
Khôi Nguyễn Minh
 

Similar to Wso2 is integration with .net core (20)

PPTX
OAuth2 and OpenID with Spring Boot
Geert Pante
 
PDF
Clef security architecture
jessepollak
 
PDF
OpenID Connect Explained
Vladimir Dzhuvinov
 
PPTX
Creating a Sign On with Open id connect
Derek Binkley
 
PDF
2019 - Nova Code Camp - AuthZ fundamentals with ASP.NET Core
Vladimir Bychkov
 
PPTX
Intro to OAuth2 and OpenID Connect
LiamWadman
 
PDF
2019 - Tech Talk DC - Token-based security for web applications using OAuth2 ...
Vladimir Bychkov
 
PDF
Mobile Authentication - Onboarding, best practices & anti-patterns
Pieter Ennes
 
PDF
Introduction to the Globus Platform for Developers
Globus
 
PPTX
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
MysoreMuleSoftMeetup
 
PDF
Securing .NET Core, ASP.NET Core applications
NETUserGroupBern
 
PDF
CIS 2015 Extreme OpenID Connect - John Bradley
CloudIDSummit
 
PPTX
Web API 2 Token Based Authentication
jeremysbrown
 
PPTX
Securing a modern Web application with Entra ID
Joonas Westlin
 
PPTX
High-Trust Add-Ins SharePoint for On-Premises Development
Edin Kapic
 
PPTX
OAuth2 + API Security
Amila Paranawithana
 
PDF
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
Profesia Srl, Lynx Group
 
PDF
OpenID for Verifiable Credentials
Torsten Lodderstedt
 
PDF
Two-factor Authentication
PortalGuard dba PistolStar, Inc.
 
PDF
Application Security in ASP.NET Core
NETUserGroupBern
 
OAuth2 and OpenID with Spring Boot
Geert Pante
 
Clef security architecture
jessepollak
 
OpenID Connect Explained
Vladimir Dzhuvinov
 
Creating a Sign On with Open id connect
Derek Binkley
 
2019 - Nova Code Camp - AuthZ fundamentals with ASP.NET Core
Vladimir Bychkov
 
Intro to OAuth2 and OpenID Connect
LiamWadman
 
2019 - Tech Talk DC - Token-based security for web applications using OAuth2 ...
Vladimir Bychkov
 
Mobile Authentication - Onboarding, best practices & anti-patterns
Pieter Ennes
 
Introduction to the Globus Platform for Developers
Globus
 
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
MysoreMuleSoftMeetup
 
Securing .NET Core, ASP.NET Core applications
NETUserGroupBern
 
CIS 2015 Extreme OpenID Connect - John Bradley
CloudIDSummit
 
Web API 2 Token Based Authentication
jeremysbrown
 
Securing a modern Web application with Entra ID
Joonas Westlin
 
High-Trust Add-Ins SharePoint for On-Premises Development
Edin Kapic
 
OAuth2 + API Security
Amila Paranawithana
 
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
Profesia Srl, Lynx Group
 
OpenID for Verifiable Credentials
Torsten Lodderstedt
 
Two-factor Authentication
PortalGuard dba PistolStar, Inc.
 
Application Security in ASP.NET Core
NETUserGroupBern
 
Ad

More from Ismaeel Enjreny (20)

PPTX
Introduction to Elasticsearch
Ismaeel Enjreny
 
PPTX
Fleet and elastic agent
Ismaeel Enjreny
 
PPTX
Elastic 101 ingest manager
Ismaeel Enjreny
 
PPTX
Elastic 101 - API Logs
Ismaeel Enjreny
 
PPTX
WSO2 Identity Server - Getting Started
Ismaeel Enjreny
 
PPTX
Elasticsearch k8s
Ismaeel Enjreny
 
PPTX
ELK Observability 1
Ismaeel Enjreny
 
PPTX
ELK observability 2
Ismaeel Enjreny
 
PPTX
Deploy Elasticsearch Cluster on Kubernetes
Ismaeel Enjreny
 
PPTX
Redis 101 Data Structure
Ismaeel Enjreny
 
PPTX
Redis 101 - INTRO
Ismaeel Enjreny
 
PPTX
Elastic 101 ingest manager
Ismaeel Enjreny
 
PPTX
Getting started with Elasticsearch in .net
Ismaeel Enjreny
 
PPTX
Elastic 101 log enrichment
Ismaeel Enjreny
 
PPTX
Elastic 101 index operations
Ismaeel Enjreny
 
PPTX
Elastic 101 - Get started
Ismaeel Enjreny
 
PDF
دليل البرمجة باستخدام Dynamo DB للمبتدئين
Ismaeel Enjreny
 
PPTX
Amazon services iam
Ismaeel Enjreny
 
PPTX
Amazon services ec2
Ismaeel Enjreny
 
PPTX
Redis - Partitioning
Ismaeel Enjreny
 
Introduction to Elasticsearch
Ismaeel Enjreny
 
Fleet and elastic agent
Ismaeel Enjreny
 
Elastic 101 ingest manager
Ismaeel Enjreny
 
Elastic 101 - API Logs
Ismaeel Enjreny
 
WSO2 Identity Server - Getting Started
Ismaeel Enjreny
 
Elasticsearch k8s
Ismaeel Enjreny
 
ELK Observability 1
Ismaeel Enjreny
 
ELK observability 2
Ismaeel Enjreny
 
Deploy Elasticsearch Cluster on Kubernetes
Ismaeel Enjreny
 
Redis 101 Data Structure
Ismaeel Enjreny
 
Redis 101 - INTRO
Ismaeel Enjreny
 
Elastic 101 ingest manager
Ismaeel Enjreny
 
Getting started with Elasticsearch in .net
Ismaeel Enjreny
 
Elastic 101 log enrichment
Ismaeel Enjreny
 
Elastic 101 index operations
Ismaeel Enjreny
 
Elastic 101 - Get started
Ismaeel Enjreny
 
دليل البرمجة باستخدام Dynamo DB للمبتدئين
Ismaeel Enjreny
 
Amazon services iam
Ismaeel Enjreny
 
Amazon services ec2
Ismaeel Enjreny
 
Redis - Partitioning
Ismaeel Enjreny
 
Ad

Recently uploaded (20)

PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PDF
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
DOCX
Import Data Form Excel to Tally Services
Tally xperts
 
PPTX
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PPTX
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PPTX
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Executive Business Intelligence Dashboards
vandeslie24
 
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
Import Data Form Excel to Tally Services
Tally xperts
 
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 

Wso2 is integration with .net core

  • 1. WSO2 - IDENTITY SERVER Integration with .NET Core ENG. Ahmed Abouelenein 15 Dec-2021
  • 2. Notes Demo App • Demo Web Application to add your notes • Plans • Free Add Notes By Title & Details • Sliver Categorized Notes • Gold Fancy Color • Users authenticated By WSO2 • Client : ASP.NET Core MVC Web Application • API : ASP.NET Core Web API • https://github.com/ahmedabouelenein/Notes
  • 3. OAuth2 • OAuth2 is open protocol to allow secure authorization in simple and standard method from web , mobile and desktop applications • OAuth for authorization used for issuing and validating access tokens on the internet • WSO2 implement OAuth2 standard like other Identity providers (Identity server , Ping , Trustbuilder , Azure AD …)
  • 4. OpenID Connect • OpenID Connect is simple identity layer on top of OAuth2 protocol • OpenID Connect extend OAuth2 • Used for verifying the identity of end user based on authentication performed by authorization server • OpenID Connect fills the OAuth2.0 gap which is intended to provide authorization but not authentication
  • 5. OAuth2 Participants • Resource Owner • The identity who own the data • Grants access to protected resources • Client Application • App that makes protected resource resquests on behalf of the resource owner and with its authorization • Authorization Server • Server issuing access tokens to the clients • Authenticates the resource owner and obtains authorization • Resource Server • Server that hosts protected resources • Handle protected resource requests using access tokens
  • 6. Public and Confidential Clients • Confidential Client : • Capable of maintaining the confidentiality of their credentials eg ( client ID, Client Secret ) • Live on server • Server side web apps (MVC web Application) • Public client • Incapable of maintaining their credentials client ID , client secrets • Live on user device ( web browser , mobile device ..) • Javascript applications and mobile applications
  • 7. Authorization Code flow • Flow determine how code and / or token(s) are returned to the client • How communication between IDP and Client • Depend on Application Type (public or confidential) we must use different flow • Flow types • Implicit flow • Hybrid flow • Resource owner (Password credential ) flow • Client credential flow
  • 8. Authorization endpoint • Used by client application to obtain authentication and /or authorization via redirection • Identity Provider Level
  • 9. Redirection endpoint • Used by IDP to return code & token(s) to the client application • Client Level
  • 10. Token endpoint • Used by client application to request tokens (without redirection) from the IDP • IDP Level • Communication Types: • Front Channel Communication Browser URL or Form POST • Back Channel Communication Server to Server communication (Token end point)
  • 12. Authorization Code flow With PKCE • Authorization code flow is vulnerable to injection attacks • Attacker can use code to get token and has all privilages of the victim • PKCE (Proof Key for Code Exchange)
  • 14. Tokens • Types • Identity Token (proves that the user has been authenticated) • Access Token (allows the client application to access the user's resource) • Refresh Token (offline access) • Format • JWT Token (self hosting web token) • Reference Token
  • 15. Claims and Scopes • Claims is a name value pair that represents what the subject is • Scopes are used to request specific sets of claims. • OpenId scope is mandatory scope to specify that OpenID Connect should be used.
  • 17. Other endpoints • UserInfo Endpoint • Introspect Endpoint
  • 18. Token Validation • Check that the JWT is well formed. • Check the signature. • Check the standard claims. • Verify token audience claims
  • 19. Q & A