Angular
How to integrate Single Sign-on with Angular and Java Spring 5 frameworks
Integrating SSO with
Angular
The following example illustrates how SSO can be integrated within your applications' code. The example shows how would an application using Angular enable the SSO feature via OpenID-Connect.
Angular Guide for SSO OpenID-Connect
This Angular guide requires the following dependency via npm:
angular-oauth2-oidc
Run in terminal:
npm install angular-oauth2-oidc --saveAdd an environment.ts file to your project directory. This will contain the required credentials to connect to IndustryApps Keycloak OpenID-Connect.
export const environment = {
production: true,
envName: 'local',
keycloak: {
// Url of the Identity Provider
issuer: 'https://auth.uat.industryapps.net/auth/realms/IndustryApps',
// URL of the SPA to redirect the user to after login (Development Env)
redirectUri: 'https://democustomer.uat.industryapps.net/<APPCODE>/',
// The SPA's id.
// The SPA is registerd with this id at the auth-serverß
clientId: 'APPID',
responseType: 'code',
// set the scope for the permissions the client should request
// The first three are defined by OIDC.
scope: 'openid profile email',
// Remove the requirement of using Https to simplify the demo
// THIS SHOULD NOT BE USED IN PRODUCTION
// USE A CERTIFICATE FOR YOUR IDP
// IN PRODUCTION
requireHttps: false,
// at_hash is not present in JWT token
showDebugInformation: true,
disableAtHashCheck: true
}
};
Include an authconfig sub-directory in your project directory. Create an authconfig.module.ts file which initialises an oauth2-oidc module as illustrated below:
Add an auth.config.ts file in the authconfig sub-directory. auth.config.ts would utilise the environment variables configured in the environment.ts file made previously.
Add an auth-config.service.ts file to the authconfig sub-directory which sets up OAuthService. auth-config.service.ts initialises a login page if authorisation is required otherwise initialises the app instance.
Add auth-config.service.spec.ts to the authconfig sub-directory which is the last requirement to be added in the authconfig sub-directory.
So far the addition of the authconfig sub-directory includes:
Be sure to import the environment into the main.ts file in your app directory. e.g.
A full main.ts file example is illustrated below, given you've designated both an environment.prod.ts version and environment.ts file in an environments sub-directory.
A full demo sample client-side Angular app is available below provided as a reference.
Last updated