Solution Concept: SSO for SPA using OAuth2
Web Application Security, Cloud Security, SSO, Active Directory, OAuth2, SPA
Problem Description
Requirements and Context
- Users and roles management: define roles and rights, including the ability to maintain users according to the company’s policies.
- Authentication: provide seamless login (Single-Sign-On) functionality to the SPA for Data Developers, Data Managers and other SMEs.
- Authorization: only authorized users should be allowed to access the application’s functionality according to the specified role and granted privileges(Principle of Least Privilege)
- Architecture decision for
- Identity and Access Management (Keycloak vs company’s Active Directory)
- Authentication and Authorization protocols (SAML, OpenID Connect, OAuth2)
Solution
System Architecture (Component Diagram and Deployment View)
![](/niko-consulting-website/blog/2019/11/10/solution-concept-sso-for-spa-using-oauth2/architecture-overview-components-deployment-view_hu1e985d48e40d293824ad08c43aec8510_181108_1200x0_resize_catmullrom_3.png)
Single-Sign-On Integration using OAuth2-Code-Flow (Sequence Diagram)
![](/niko-consulting-website/blog/2019/11/10/solution-concept-sso-for-spa-using-oauth2/sso-oauth2-code-flow-sequence-diagram_hu4d18ec144b80d9b92e3e3d436afbc408_275981_1200x0_resize_catmullrom_3.png)