This repository shows a basic Angular CLI application with the angular-oauth2-oidc
library and Angular AuthGuards.
This demonstrates:
- Use of the Implicit Flow, see #24 for Code Flow support
- Modules (core, shared, and two feature modules)
- An auth guard that forces you to login when navigating to protected routes
- An auth guard that just prevents you from navigating to protected routes
- Asynchronous loading of login information (and thus async auth guards)
- Using
localStorage
for storing tokens (use at your own risk!) - Loading IDS details from its discovery document
- Trying silent refresh on app startup before potientially starting a login flow
- OpenID's external logout features
Most interesting features can be found in the core module.
This repository has been scaffolded with the Angular 5 CLI, then later upgraded to newer versions of the Angular CLI. To use the repository:
- Clone this repository
- Run
npm install
to get the dependencies - Run
ng serve --open
to get it running on http://localhost:4200
This connects to the demo IdentityServer4 instance also used in the library's examples. The credentials and ways of logging in are disclosed on the login page itself (as it's only a demo server).
You could also connect to your own IdentityServer by changing auth-config.ts
.
Note that your server must whitelist both http://localhost:4200/index.html
and http://localhost:4200/silent-refresh.html
for this to work.
The application is supposed to look somewhat like this: