I have started work on a rearchitected version of Serendipity: It includes a BFF (Backend for Frontend) that utilises Spring Security 5 OAuth 2.0 Login: Screen Shots Source Code: GitHub: Serendipity: The open-source Customer Engagement Platform References: IETF: OAuth 2.0 for Browser-Based Apps - Best Practices Spring Security…
Angular
Angular, OAuth 2.0 and Keycloak
In previous posts, I wrote about Getting started with Keycloak and Angular, OpenID Connect and Keycloak. In this post, I take a look at Keycloak's support for OAuth 2.0 scopes. Requirements Serendipity has four roles: Guest User Manager Administrator Serendipity's REST API uses scopes to protect resources, for example:…
Angular, OpenID Connect and Keycloak
In a previous post, I wrote about wanting to add support for Single Sign On to Serendipity and the steps I followed to launch and configure Keycloak. There are several certified OpenID Connect (OIDC) implementations that provide OIDC and OAuth 2.0 protocol support for browser-based applications. In this post,…
Getting started with Keycloak
I'd like to add support for Single Sign On to Serendipity, so I thought I'd take a look at Keycloak. Keycloak Keycloak is an open source Identity and Access Management solution that supports: Single Sign On (SSO) OpenID Connect (OIDC), OAuth 2.0 and SAML 2.0 LDAP and Active…
Lazy Loading Angular Libraries
Angular is a platform for building applications in TypeScript, HTML and CSS. The basic building blocks of an Angular application are NgModules. An Angular app is typically comprised of a root module (that is responsible for bootstrapping) and one or more feature modules. By default, NgModules are eagerly loaded, which…
Dashboards and Dashboard Widgets - Part 1
In a previous post, I wrote about Angular Material's toolbar and sidenav components. In this post, I'll walk you through the steps I followed in order to add Dashboard support to Serendipity: Getting Started After a little research (see below) I decided to try Angular Gridster 2 (angular-gridster2). Angular Gridster…